背景与价值
FedCM提供原生的联邦登录能力。合理治理providers与mediation并绑定nonce,可提升安全与用户体验。
统一规范
- providers白名单:仅允许受控配置端点与client_id。
- mediation策略:默认 `required`,避免静默与无感授权。
- nonce绑定:服务端下发挑战,客户端回传绑定,防重放。
核心实现
调用示例(兼容性占位)
```ts
type Provider = { configURL: string; clientId: string }
const allowProviders = new Set(['https://idp.example.com/.well-known/openid-federation'])
function providerAllowed(p: Provider): boolean { try { const u = new URL(p.configURL); return allowProviders.has(u.origin + u.pathname) } catch { return false } }
async function fedcmLogin(providers: Provider[], nonce: string): Promise

发表评论 取消回复