Auth0 是一个认证代理,它支持社交身份提供者以及企业身份提供者,如 Active Directory、LDAP、Google Apps 和 Salesforce。
react-native-lock-ios 是一个围绕 Lock 的包装器,以便它可以用于 iOS React Native 应用程序。
使用 npm install --save react-native-lock-ios
命令将包添加到您的应用程序依赖项中。
为了告诉 CocoaPods 您需要哪些原生库,在您的应用程序项目目录中创建一个名为 Podfile
的文件,如下所示
source 'https://github.com/CocoaPods/Specs.git'
pod 'React', :subspecs => [
'Core',
'RCTImage',
'RCTNetwork',
'RCTText',
'RCTWebSocket'
], :path => 'node_modules/react-native'
pod 'LockReactNative', :path => 'node_modules/react-native-lock-ios'
现在在这个文件夹中运行 pod install
命令。它将自动下载 Lock for iOS 和所有其依赖项,并创建一个包含所有内容的 Xcode workspace。从现在开始,请打开 <YourAppName>.xcworkspace
而不是 <YourAppName>.xcodeproject
。这是因为现在 React Native 的 iOS 代码(和 Lock 的)是通过 CocoaPods 拉取进来的。您需要执行的另一个必要步骤是从您的应用程序 Xcode 项目中移除 React、RCTImage 等子项目。
让我们需要 react-native-lock-ios
模块
var Auth0Lock = require('react-native-lock-ios');
并用您可以从 我们的仪表板 获得的 Auth0 凭据对其进行初始化
var lock = new Auth0Lock({clientId: "YOUR_CLIENT_ID", domain: "YOUR_DOMAIN"});
lock.show({}, (err, profile, token) => {
console.log('Logged in!');
});
您将看到我们本地的登录屏幕
lock.show({
connections: ["touchid"]
}, (err, profile, token) => {
console.log('Logged in!');
});
您将看到 TouchID 登录屏幕
因为它使用数据库连接,用户可以更改密码并使用电子邮件/密码进行验证,例如在更换设备时。
lock.show({
connections: ["sms"]
}, (err, profile, token) => {
console.log('Logged in!');
});
您将看到 SMS 密码登录屏幕
lock.show({
connections: ["email"]
}, (err, profile, token) => {
console.log('Logged in!');
});
您将看到电子邮件密码登录屏幕
使用您的应用程序配置或代码中指定的options
参数中的连接,将锁的认证屏幕显示为模态窗口。以下是有效的参数列表:
布尔值
):如果锁屏可以被关闭[string]
):用于认证的启用连接列表。必须在您的应用程序仪表板上首先启用。对象
):包含要发送到身份验证API的参数的对象,例如scope
。回调将包含错误,如果发生错误,或者认证成功后,将产生用户的个人资料信息和令牌。
如果您发现了一个错误或者有功能请求,请在此存储库问题部分报告它们。请勿在公共GitHub问题跟踪器上报告安全漏洞。有关披露安全问题的详情,请参阅负责任公开计划。
Auth0可以帮助您:
Auth0
react-native-lock-ios在MIT许可协议下可用。请参阅LICENSE文件获取更多信息。