从托管认证开始
- 配置应用,并从 JavaScript 快速入门 复制
auth.js。 - 将已注册的
/auth/callback指向一个页面,该页面只调用一次handleCallback()。防止重复执行副作用,包括开发环境中的副作用重放,因为授权码只能使用一次。 - 明确区分加载中、未登录、已登录和会话失败等状态。显示登录错误时,不要记录 token 或回调授权码。
- 在后端验证每一个受保护的请求。隐藏组件并不等于授权。
SignInButton.jsx
getSession() 以填充用户视图。退出登录时,清除用户相关的缓存,并明确处理服务器撤销失败的情况。最简的 JavaScript 辅助工具在页面刷新后不会保留会话。
React 包发布预览
计划中的@didit-protocol/auth-react 包将提供 DiditAuth 根组件,以及 useAuth、useUser、SignIn、SignUp、UserButton、SignedIn、SignedOut 和 ConnectedAgents。组件属性、回调路由和包版本必须以已发布的版本为准。请勿假设验证 SDK 会提供这些组件。
自动信号和 vendorData 依赖认证核心版本。在此之前,请使用您后端对已验证 sub 的映射。有关如何将验证和监控与登录结合使用的内容,请参阅共享集成提示。
请测试以下场景:取消重定向、双击登录、刷新回调页面、会话过期、多因素认证(MFA)和退出登录。渲染加载和错误状态时,不得显示上一位用户的受保护数据。