我正在开发一个
Objective-c iOS应用程序.我想使用auth0进行身份验证(
https://auth0.com/),我想将Firebase用于数据库后端.
我已经浏览了所有auth0文档,并且我已经获得了身份验证:
Facebook,谷歌,推特,自我注册.
问题:
文档有点落在我需要将身份验证模型与Firebase集成的地方,它给了我这一页,我现在还不确定.有没有人之前做过这种整合,你能带领我走这条路吗?我对此有点新意.
BlockquoteConfiguring Token content
与在dahsboard中注册的任何其他API一样,Auth0将通过委派端点发出Firebase令牌.这允许您将令牌换成另一个令牌.
Firebase令牌的内容按约定生成,复制委派调用中使用的输入令牌中firebase_data属性下包含的所有属性.
user.firebase_data = { user_id: new Buffer(user.email).toString('base64'),company: !user.isSocial ? context.connection.replace(/\./g,'-') : null,foo: 'bar' };
在上面的示例中,将在调用委托endopint之后生成两个属性user_id和company,并且两个属性都将可供Firebase使用.
Blockquote
解决方法
我在浏览器中为Javascript做了这个,而不是ios / Objective C.但是在概念上,你需要做四件事:
建立
>配置您的Auth0帐户以允许Firebase委派,并提供您的Firebase令牌.此部分由Firebase选项卡上的Auth0’s ios/objective C docs for Firebase覆盖.
>(可选)创建Auth0规则以设置委派的Firebase令牌的属性.你在上面的代码片段中有这个.
用于设置Firebase令牌属性的Auth0规则:
user.firebase_data = { user_id: new Buffer(user.email).toString('base64'),foo: 'bar' };
您在此处设置的属性将在Firebase安全规则中提供.
认证流程
Auth0 has a swift sample似乎对你很有帮助.你需要做两件事:
>用户成功验证后,从Auth0为委派的Firebase访问令牌发出第二次Auth0请求,请参阅sample line 65.
>通过其authWithCustomToken方法将新的委托令牌与Firebase对象一起使用,请参阅sample line 73.