如果你正在使用 Auth0 来管理用户身份验证,那么 @somehats/auth0-lock-passwordless 可能是一个很有用的 npm 包。这个包提供了一种新的方式来验证用户,无需密码。本文将介绍如何使用 @somehats/auth0-lock-passwordless。
安装
使用 npm 安装 @somehats/auth0-lock-passwordless:
npm install @somehats/auth0-lock-passwordless
配置
在使用 @somehats/auth0-lock-passwordless 之前,你需要先在 Auth0 中创建一个 connection 和一个 rule。
Connection
在 Auth0 管理面板中创建一个 connection,类型选择 Passwordless,并设置一个有效的可验证的邮箱域名。
Rule
在 Auth0 管理面板中创建一个 rule,这个 rule 将会生成一个符合链接。你可以使用以下 JavaScript 代码创建这个 rule:
-- -------------------- ---- ------- -------- ----------------------- -------- --------- - ----- ----- - ----------- -- ------ -- ---------------------------- - ------ -------------- ----- --------- - ------------ ------------------------- ----------- -
初始化
在你的前端应用程序中,初始化 @somehats/auth0-lock-passwordless:
import Auth0LockPasswordless from '@somehats/auth0-lock-passwordless'; const lock = new Auth0LockPasswordless({ domain: 'YOUR_AUTH0_DOMAIN', clientID: 'YOUR_CLIENT_ID', redirectUri: 'http://localhost:3000/callback', responseType: 'token id_token', });
使用
使用 @somehats/auth0-lock-passwordless 与常规 Auth0 所提供的 API 相同,但是它允许用户使用邮件地址登录,而无需密码。
启动
启动 @somehats/auth0-lock-passwordless:
lock.show();
登录
当用户点击登录按钮时,Auth0 将会发送一封 E-mail,E-mail 中包含一个登录链接。一旦用户点击登录链接,并验证身份,他将会被重定向回你的应用程序,并携带一个有关用户身份验证的令牌。
获取用户信息
你可以使用 Auth0 获取当前登录用户的信息:
lock.getUserInfo(accessToken, function (error, profile) { if (!error) { console.log(profile); } });
总结
@somehats/auth0-lock-passwordless 是一个非常方便的 npm 包,可以使密码登录变得更加简单和容易。通过本文,您已经学会了如何在 Auth0 中创建 connection 和 rule,以及如何使用 @somehats/auth0-lock-passwordless 进行登录和获取用户信息。如果您正在开发一个基于 Auth0 的应用程序,那么您可以参考本文的内容,并在您的应用程序中使用这个 npm 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055cba81e8991b448da46f