mcpField
F
flutter-authentication

flutter-authentication

github.com/thienqo开发1368 次安装今天更新
代码仓库

关于 flutter-authentication

指导 Flutter 项目实现身份验证与会话生命周期的技能,涵盖身份提供方、后端、平台重定向、凭据存储和应用状态。强调沿用现有架构,并通过针对性测试验证安全行为。

主要功能

  1. 01梳理身份验证与会话状态
  2. 02指导 OAuth、OIDC 和 PKCE 流程
  3. 03检查重定向、令牌及账户存储
  4. 04覆盖刷新、登出与账户切换
  5. 05使用模拟身份适配器验证状态
  6. 06按需查阅相关协议参考

适用场景

  1. 01在既有 Flutter 应用中接入登录流程
  2. 02排查深层链接与 OAuth 回调问题
  3. 03验证令牌刷新、撤销和离线启动
  4. 04测试登出、账户切换及进程重启

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/thienqo/flutter-skills --skill flutter-authentication

安装后在 Claude Code 中输入/flutter-authentication确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

evals/
cases.json
references/
oauth-oidc-and-redirects.md
passkeys-and-device-reauthentication.md
sessions-and-account-state.md

详细介绍

Flutter 身份验证

将身份验证视为一个协议和账户状态生命周期,涵盖身份提供方、可信后端、平台重定向入口、本地会话所有者和应用 UI。除非请求迁移,否则保留项目现有的提供方、后端、SDK、路由器、存储和状态管理。

不要仅仅因为选择了此技能,就添加 SDK、客户端注册、重定向关联、密钥占位符、账户或后端。

前置检查

阅读 pubspec.yaml、SDK 约束、登录入口、提供方和后端契约、已注册的客户端和重定向、深层链接处理、令牌和账户存储、刷新协调、导航守卫、注销行为、flavor、平台关联和测试。区分身份验证、会话状态、授权和设备本地重新身份验证。

Flutter 原生客户端和 Web 客户端都是公共客户端,无法保管可重复使用的客户端密钥。对于 OAuth 或 OIDC,在提供方支持时,使用既定的授权码流程,配合 PKCE 和外部用户代理。验证重定向的归属,并根据适用情况使用 state,以及用于 OIDC 的 nonce 来关联响应。切勿仅仅因为重定向的 scheme 匹配就信任它。

按需加载参考资料

  • 对于浏览器授权、PKCE、state、nonce、回调归属、深层链接和提供方错误,请阅读 OAuth、OIDC 和重定向。
  • 对于令牌所有权、协调刷新、过期、注销、撤销、账户切换、启动时恢复和离线行为,请阅读 会话和账户状态。
  • 对于依赖方挑战、平台关联、通行密钥生命周期、生物识别和本地授权门控,请阅读 通行密钥和设备重新身份验证。

职责边界

  • flutter-security 负责威胁建模和全面加固;此技能负责实现正确的身份和会话行为。
  • flutter-networking 负责 HTTP 机制、拦截器和通用重试;此技能定义身份验证刷新和账户语义。
  • flutter-navigation 负责路由和返回堆栈的正确性;此技能定义已验证、未验证、回调和重新身份验证状态。
  • flutter-persistence 负责存储机制;此技能定义凭据敏感性、账户隔离、过期和删除生命周期。
  • 当现有插件无法满足需求时,flutter-platform-integration 负责自定义原生凭据 API 或重定向机制。

验证

使用模拟身份适配器确定性地验证状态转换,并使用获授权的非生产环境提供方进行端到端验证。覆盖成功、取消、拒绝、格式错误或重放的回调、state 和 nonce 不匹配、访问令牌过期、并发刷新、刷新失败、会话撤销、离线启动、注销、账户切换、进程重启和平台链接归属。

对于通行密钥或设备凭据,请在实际支持的设备上测试,并覆盖取消或锁定行为。说明实际观察到的提供方、客户端类型、平台、账户状态、重定向、存储和后端检查。登录界面显示成功或在本地解码令牌,并不能证明回调完整性、服务端授权、刷新安全性、撤销或注销清理均有效。

来源

评论

支持 Markdown