Auth0是一个认证代理,支持社交身份提供者以及Active Directory、LDAP、Google Apps和Salesforce等企业身份提供者。
LockReact是围绕Lock的一个包装器,使它与React Native更易于使用。
LockReact API处于Beta阶段,可能因Lock或React Native的改进而进行更改。
iOS 7+ & React Native
在您的项目的Info.plist
文件中添加以下条目
您可以在您的应用程序设置中的Auth0仪表板中找到这些值。
例如
此外,您需要注册一个自定义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!');
});
您将看到我们的本地登录屏幕
默认情况下,所有社交身份验证都将使用Safari进行,如果需要进行本地集成,请参阅此 wiki页面。
Lock.showTouchID({
authParams: {
connection: 'Username-Password-Authentication',
}
}, (err, profile, token) => {
console.log('Logged in!');
});
您将看到TouchID登录屏幕
因为它使用数据库连接,用户可以在需要时更改密码并使用电子邮件/密码进行身份验证。例如,当您更改设备时。
Lock.showSMS({
apiToken: "API V2 TOKEN",
}, (err, profile, token) => {
console.log('Logged in!');
});
您将看到短信登录屏幕
您需要生成一个使用于注册电话号码并使用短信发送登录代码的 v2 API令牌。您可以在Auth0 API v2 页面生成此令牌,只需选择作用域
create:users
并复制生成的API令牌。
以模态屏幕的形式显示配置给您应用程序的连接或 options
参数中指定的连接的 Lock 的身份验证屏幕。以下是有效选项清单
boolean
):如果 Lock 屏幕可以关闭[string]
):用于身份验证的启用连接列表。必须在您的应用程序仪表板上首先启用。object
):包含要发送到身份验证 API 的参数的对象,例如 scope
。如果发生错误,回调将包含错误信息;在成功身份验证后,它将返回用户的个人资料信息和令牌。
以模态屏幕的形式显示 Lock 的短信身份验证屏幕。以下是有效选项清单
boolean
):如果 Lock 屏幕可以关闭object
):包含要发送到身份验证 API 的参数的对象,例如 scope
。如果发生错误,回调将包含错误信息;在成功身份验证后,它将返回用户的个人资料信息和令牌。
以模态屏幕的形式显示 Lock 的 TouchID 身份验证屏幕。以下是有效选项清单
boolean
):如果 Lock 屏幕可以关闭object
):包含要发送到身份验证 API 的参数的对象,例如 scope
。如果发生错误,回调将包含错误信息;在成功身份验证后,它将返回用户的个人资料信息和令牌。
如果您发现了错误或对功能有需求,请在以下存储库问题部分进行报告。请勿在公共 GitHub 问题跟踪器上报告安全漏洞。《负责任披露计划》详细说明了披露安全问题的程序。
Auth0 帮助您
Auth0
LockReact 在 MIT 许可证下可用。有关更多信息,请查看 LICENSE 文件。