与parse-server和auth0的定制authentication集成
我想将auth0.com与开源parsing服务器结合使用。
我目前的做法是通过使用他们的标准login通过锁库的iOS来从auth0获取令牌。 有了这个令牌,我想在我的分析服务器上调用一个自定义的身份validation方法,该方法检查该令牌是否有效,是否会login到用户。
我的问题是,几乎没有关于为parse-server编写自定义oauth的文档。
到目前为止,我有我的自定义身份validation的代码。
var Parse = require('parse/node').Parse; function validateAuthData(authData, options) { console.log('validateAuthData()'); return new Promise((resolve, reject) => { try { var decoded = jwt.verify(authData.access_token, opions.sharedSecret); if (authData.id === decoded.sub) { resolve({}); } throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, 'Unauthorized'); } catch(e) { throw new Parse.Error(Parse.Error.OBJECT_NOT_FOUND, e.message); } }); } function validateAppId(appIds, authData) { console.log('validateAppId()'); return Promise.resolve(); } module.exports = { validateAppId: validateAppId, validateAuthData: validateAuthData };
但是,它不起作用,我也不明白这个代码如何被用来authentication一个特定的用户。 分析服务器是否执行数据库查找以将特定的authentication数据与特定的用户相匹配? 另外,我怎样才能注册一个新的用户自定义身份validation。 当用户尝试login时,会发生什么情况,但他在我的分析数据库中还不存在?
一个替代scheme似乎是这样的 ,使用一个规则auth0.com。 有什么区别,规则如何工作? 我对身份validation和oauth以及jwt的经验很less。
最后,我正在使用这个从我的iOS客户端调用我的自定义身份validation。 然而,这也不起作用,但我不确定是否是由于iOS部分或由于我的自定义身份validation尚未工作。
总之,我遇到了一些似乎相当简单的麻烦。 我想使用auth0作为我的身份validation提供程序,我想集成它是分析服务器,因为我真的很感谢parsing和客户端sdk的方便。 我相当肯定有更多的人有类似的问题,但是我没有find任何关于如何正确地做到这一点的确切资源。
更多链接
- parsing使用Auth0进行身份validation的用户
- https://auth0.com/blog/2016/03/07/hapijs-authentication-secure-your-api-with-json-web-tokens/
- https://github.com/ParsePlatform/parse-server/wiki/OAuth
- https://jwt.io/introduction/
- SFSafariViewController删除OAuth2 Cookie
- 如何在Visual Studio 2015中设置OAuth以使用Google身份验证
- 如何使用Google离线访问令牌在iOS的后台进行身份validation?
- 是否有必要使用谷歌应用程序帐户来使用Google+域API?
- Twitter应用程序专用authentication总是返回401
- 使用iOS的OAuthConsumer将图像上传到tumblr
- 无法使用LinkedIn的OAuth入门套件共享
- OAuth2login到SoundCloud最近返回错误域= NXOAuth2HTTPErrorDomain代码= 401“HTTP错误:401”
- 从响应string中提取令牌