Firebase + auth0身份验证

Dia*_*nic 8 authentication objective-c ios firebase auth0

我正在开发一个Objective-c iOS应用程序.我想使用auth0进行身份验证(https://auth0.com/),我想将Firebase用于数据库后端.

我已经浏览了所有auth0文档,并且我已经获得了身份验证:

Facebook,Google +,Twitter,自我注册.

问题:在我需要将身份验证模型与Firebase集成时,文档有点下降,它给了我这一页,我现在还不确定.有没有人之前做过这种整合,你能带领我走这条路吗?我对此有点新意.

Blockquote配置令牌内容

与在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'
};
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,将在调用委托endopint之后生成两个属性user_id和company,并且两个属性都将可供Firebase使用.

大段引用

Jam*_*mes 3

我已经在浏览器中为 Javascript 完成了此操作,而不是 ios/Objective C。但在概念上,您需要做四件事:

设置

  1. 配置您的 Auth0 帐户以允许 Firebase 委派,并提供您的 Firebase 令牌。这部分内容由Auth0 的 Firebase ios/objective C 文档(位于 Firebase 选项卡上)介绍。
  2. (可选)创建 Auth0 规则以设置委托的 Firebase 令牌的属性。你在上面的代码片段中有这个。

用于设置 Firebase 令牌属性的 Auth0 规则:

user.firebase_data = {
  user_id: new Buffer(user.email).toString('base64'),
  company: !user.isSocial ? context.connection.replace(/\./g, '-') : null,
  foo: 'bar'
};
Run Code Online (Sandbox Code Playgroud)

您在此处设置的属性将在 Firebase 安全规则中可用。

认证流程

Auth0 有一个快速示例,似乎对您有帮助。你需要做两件事:

  1. 用户成功进行身份验证后,向 Auth0 发出第二个 Auth0 请求,获取委托的 Firebase 访问令牌,请参阅示例行 65
  2. 通过 Firebase 对象的 authWithCustomToken 方法使用新的委托令牌,请参阅示例行 73

  • 这个答案中的链接似乎已损坏。可以更新它们吗? (2认同)