You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ReactJS集成Amplify与Okta认证后登录提示‘登录选项不可用’求助

问题解决:Amplify集成Okta后出现“Login option is not available. Please try another one”错误

以下是常见的配置遗漏点及修复方案:

1. Okta应用程序配置错误

  • 确保Okta中创建的是Web应用程序而非原生应用,登录重定向URI需与Amplify配置的回调地址完全匹配(例:http://localhost:3000/callback),同时检查注销重定向URI是否一致。
  • 确认Okta应用已启用Authorization Code和Refresh Token两种授权类型,Amplify认证流程依赖这两类授权。

2. Amplify Auth配置缺失关键参数

检查aws-exports.js或Amplify初始化代码,必须包含完整的Okta相关配置项:

Auth: {
  oauth: {
    domain: "your-okta-domain.okta.com",
    scope: ["openid", "email", "profile"],
    redirectSignIn: "http://localhost:3000/callback",
    redirectSignOut: "http://localhost:3000/",
    responseType: "code" // 必须设置为code,不可用token
  },
  identityPoolId: "your-identity-pool-id",
  region: "your-region",
  userPoolId: "your-user-pool-id",
  userPoolWebClientId: "your-user-pool-client-id"
}
  • 重点确认responseType为code,若设为token会直接导致认证流程异常。
  • domain需填写Okta完整域名(含okta.com或自定义域名)。

3. Login组件认证方法调用错误

如果使用Amplify的联邦登录,必须明确指定Okta作为身份提供商:

// 正确调用方式
Auth.federatedSignIn({ provider: 'Okta' });
  • 不可直接调用Auth.signIn()(该方法针对Cognito用户池本地登录),必须使用联邦登录方法指定Okta。

4. Cognito身份池与Okta联邦关联未完成

  • 登录AWS控制台进入Cognito身份池,确认已添加Okta作为OIDC/SAML身份提供商,且元数据URL或SAML证书配置正确。
  • 检查身份池授权角色的信任策略,确保包含Okta提供商的ARN,允许Okta用户获取角色权限。

5. 浏览器会话干扰

  • 清除浏览器缓存和Cookie,或使用隐私模式测试,排除旧认证会话的影响。

内容的提问来源于stack exchange,提问作者Ranopriyo Neogy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:17:03