LockReact 0.4.1

LockReact 0.4.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2015年6月

Hernan Zalazar维护。



LockReact 0.4.1

  • 作者:
  • Auth0 和 Hernan Zalazar

Auth0是一个认证代理,支持社交身份提供者以及Active Directory、LDAP、Google Apps和Salesforce等企业身份提供者。

LockReact是围绕Lock的一个包装器,使它与React Native更易于使用。

LockReact API处于Beta阶段,可能因Lock或React Native的改进而进行更改。

要求

iOS 7+ & React Native

安装

用法

在您的项目的Info.plist文件中添加以下条目

  • Auth0ClientId:您的应用程序在< fuerte>Auth0中的客户端ID。
  • Auth0Domain:您在< fuerte>Auth0中的账户域名。

您可以在您的应用程序设置中的Auth0仪表板中找到这些值。

例如

Auth0 plist

此外,您需要注册一个自定义URL类型,它必须具有以下格式的自定义方案:a0<您的客户端ID>。例如,如果您的客户端ID为Exe6ccNagokLH7mBmzFejP,则自定义方案应为a0Exe6ccNagokLH7mBmzFejP

然后您需要处理该自定义方案,因此首先在您的AppDelegate.m中导入A0LockReact头文件

#import <LockReact/A0LockReact.h>

并重写-application:beforeこれは軽量コードメソッド、もしそれを行っていない場合、次の行を追加してください

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [[[A0LockReact sharedInstance] lock] handleURL:url sourceApplication:sourceApplication];
}

这是要在使用Safari(或如果使用fb或Twitter进行集成,则与本地集成)进行身份验证时能够返回到您的应用程序所必需的。此调用检查URL并处理所有具有自定义方案定义的项。

最后在文件index.ios.js中,像这样引入Lock的模块

var Lock = require('NativeModules').LockReactModule;
Lock.init({});

电子邮件/密码、企业 & 社交身份验证

Lock.show({}, (err, profile, token) => {
  console.log('Logged in!');
});

您将看到我们的本地登录屏幕

Lock.png

默认情况下,所有社交身份验证都将使用Safari进行,如果需要进行本地集成,请参阅此 wiki页面

TouchID

Lock.showTouchID({
  authParams: {
    connection: 'Username-Password-Authentication',  
  }
}, (err, profile, token) => {
  console.log('Logged in!');
});

您将看到TouchID登录屏幕

Lock.png

因为它使用数据库连接,用户可以在需要时更改密码并使用电子邮件/密码进行身份验证。例如,当您更改设备时。

SMS

Lock.showSMS({
  apiToken: "API V2 TOKEN",
}, (err, profile, token) => {
  console.log('Logged in!');
});

您将看到短信登录屏幕

Lock.png

您需要生成一个使用于注册电话号码并使用短信发送登录代码的 v2 API令牌。您可以在Auth0 API v2 页面生成此令牌,只需选择作用域 create:users 并复制生成的API令牌。

API

Lock

.show(options, callback)

以模态屏幕的形式显示配置给您应用程序的连接或 options 参数中指定的连接的 Lock 的身份验证屏幕。以下是有效选项清单

  • closable (boolean):如果 Lock 屏幕可以关闭
  • connections ([string]):用于身份验证的启用连接列表。必须在您的应用程序仪表板上首先启用。
  • authParams (object):包含要发送到身份验证 API 的参数的对象,例如 scope

如果发生错误,回调将包含错误信息;在成功身份验证后,它将返回用户的个人资料信息和令牌。

.showSMS(options, callback)

以模态屏幕的形式显示 Lock 的短信身份验证屏幕。以下是有效选项清单

  • closable (boolean):如果 Lock 屏幕可以关闭
  • authParams (object):包含要发送到身份验证 API 的参数的对象,例如 scope

如果发生错误,回调将包含错误信息;在成功身份验证后,它将返回用户的个人资料信息和令牌。

.showTouchID(options, callback)

以模态屏幕的形式显示 Lock 的 TouchID 身份验证屏幕。以下是有效选项清单

  • closable (boolean):如果 Lock 屏幕可以关闭
  • authParams (object):包含要发送到身份验证 API 的参数的对象,例如 scope

如果发生错误,回调将包含错误信息;在成功身份验证后,它将返回用户的个人资料信息和令牌。

问题报告

如果您发现了错误或对功能有需求,请在以下存储库问题部分进行报告。请勿在公共 GitHub 问题跟踪器上报告安全漏洞。《负责任披露计划》详细说明了披露安全问题的程序。

什么是 Auth0?

Auth0 帮助您

  • 使用 多种认证来源 添加身份验证,无论是社交的,如 Google、Facebook、Microsoft 账户、LinkedIn、GitHub、Twitter、Box、Salesforce 以及其他许多其他来源,还是企业身份系统如 Windows Azure AD、Google Apps、Active Directory、ADFS 或任何 SAML 身份提供者
  • 使用更传统的 用户名/密码数据库 添加身份验证。
  • 支持将同一用户的不同账户连接起来。
  • 支持生成签名 Json Web Tokens 以安全地调用您的 API 并 流式传输用户身份
  • 分析用户如何、何时、何地登录。
  • 通过 JavaScript 规则 从其他来源提取数据并将其添加到用户个人资料中。

在 Auth0 中创建免费账户

  1. 转到 Auth0 并点击注册。
  2. 使用 Google、GitHub 或 Microsoft 账户登录。

作者

Auth0

许可

LockReact 在 MIT 许可证下可用。有关更多信息,请查看 LICENSE 文件