ios - Firebase + auth0 身份验证

标签 ios objective-c authentication firebase auth0

我正在开发一个 Objective-C iOS 应用程序。我想使用 auth0 进行身份验证 ( https://auth0.com/ ) 并且我想使用 Firebase 作为数据库后端。

我已经阅读了所有的 auth0 文档,并且我已经获得了用于以下方面的身份验证:

Facebook、Google+、twitter、自助注册。

问题: 在我需要将身份验证模型与 Firebase 集成时,文档有点脱落,它给了我这一页,我不确定现在要做什么。以前有没有人做过这种整合,你能带我走这条路吗?我对此有点陌生。

BlockquoteConfiguring Token content

与仪表板中注册的任何其他 API 一样,Auth0 将通过委托(delegate)端点颁发 Firebase token 。这使您可以用一个代币交换另一个代币。

Firebase token 的内容是按照约定生成的,复制委托(delegate)调用中使用的输入 token 中 firebase_data 属性下包含的所有属性。

您可以使用规则轻松生成这些:

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

在上面的示例中,user_id 和 company 这两个属性将在调用委托(delegate)端点后生成,并且都可供 Firebase 使用。

Blockquote

最佳答案

我在浏览器中为 Javascript 而不是 ios/Objective C 做了这个。但在概念上,你需要做四件事:

设置

  1. 配置您的 Auth0 帐户以允许 Firebase 委托(delegate),并提供您的 Firebase token 。这部分由 Auth0's ios/objective C docs for Firebase 涵盖,在 Firebase 选项卡上。
  2. (可选)创建 Auth0 规则以设置委托(delegate)的 Firebase token 的属性。你在上面的代码片段中有这个。

设置 Firebase token 属性的 Auth0 规则:

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

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

身份验证流程

Auth0 has a swift sample这似乎对你有帮助。你需要做两件事:

  1. 在用户成功验证后,为来自 Auth0 的委托(delegate) Firebase 访问 token 发出第二个 Auth0 请求,参见 sample line 65 .
  2. 通过 authWithCustomToken 方法将新的委托(delegate) token 与 Firebase 对象一起使用,参见 sample line 73 .

关于ios - Firebase + auth0 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28439492/

相关文章:

ios - UILabel 的图层在动画时不更新颜色

ios - Google Places iOS自动完成结果空间

ios - iOS 中的 Google Analytics SDK 3.0 _sqlite3 链接器错误

java - Tomcat 6 - 如何配置 Digest SHA-256

asp.net-mvc - mvc中重定向授权失败

java ee - 使用 servlet 对用户进行身份验证

ios - 子类化与协议(protocol)

ios - 自定义标注手势识别

ios - 视网膜问题 : how to make UIView to have width exactly 1 of pixel instead of 2 pixels?

objective-c - Xcode 4 : define a preprocessor macro in a dependent target