Okta
本文为您介绍如何将Okta配置为Agent Identity的身份提供商。
前提条件
拥有一个可以访问Okta管理员门户(Admin Portal)的管理员账号。
建议为阿里云侧的操作人员分配Agent Identity管理员
AliyunAgentIdentityFullAccess权限。
步骤一:在Okta侧创建OAuth应用
登录Okta管理控制台。
在左侧导航栏,选择。
在Applications页面,单击Create App Integration。
在Create a new app integration对话框,设置登录方式为OIDC - OpenID Connect,应用类型为Web Application,然后单击Next。
在New Web App Integration页面,配置以下参数:
App integration name:输入应用名称。
Grant type:保持为默认的Authorization Code。
Sign-in redirect URIs:用户授权成功后的重定向目标地址。例如:
https://your-app-fqdn/authcallback。Assignments下的Controlled access:控制允许访问此应用的用户。在测试场景下,可选择Allow everyone in your organization to access。
其余设置保持默认,单击Save。
在Applications页面,单击刚创建的应用。在应用详情页,复制并保存Client ID。
步骤二:测试获取ID Token(可选)
手动构造OAuth请求以获取ID Token,用于测试OAuth验证流程和调试应用或Agent。
以下内容仅用于测试或调试。生产环境中建议使用支持OAuth的相关SDK请求ID Token。
在Okta管理控制台打开步骤一中创建的OAuth应用。在CLIENT SECRETS区域单击Secret右侧的复制按钮,保存Client Secret。
单击General Settings右侧的Edit。在LOGIN区域,为Sign-in redirect URIs添加URI
http://localhost:8080,然后单击Save。复制以下HTTP请求,并将占位符
<your-okta-domain-name>和<your-client-id>替换为实际的Okta域名和步骤一中保存的Client ID。https://<your-okta-domain-name>/oauth2/v1/authorize? client_id=<your-client-id> &redirect_uri=http://localhost:8080 &response_type=code &scope=openid &state=12345在浏览器中访问该请求地址,并根据提示完成Okta用户登录。登录成功后,浏览器将重定向至
http://localhost:8080,并在URL中返回授权码code。复制并保存code的值。http://localhost:8080/?code=PnBlGlro40HCjBaiCCt4WBCT2FnyIBHf86NIonD****&state=12345复制以下命令并执行,将
code、client_id和client_secret分别替换为您在之前步骤中保存的code、Client ID以及Client Secret。curl -X POST "<your-okta-domain-name>/v1/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "code=<your-authorization-code>" \ -d "client_id=<your-client-id>" \ -d "redirect_uri=http://localhost:8080" \ -d "grant_type=authorization_code" \ -d "client_secret=<your-client-secret>"成功执行后,Okta将返回
id_token和access_token。返回示例如下:{ "token_type": "Bearer", "expires_in": 3600, "access_token": "eyJraWQiOiJmeTBnMnB0VVVh...PGX08Q", "scope": "openid", "id_token": "eyJraWQiOiJmeTBnMnB0VVVhMG1U...VBdhDA" }将
id_token的值复制到JWT解析网站(例如https://www.jwt.io/)进行解码。解码后的aud字段值应与步骤一中保存的Client ID一致。解码示例如下:{ "sub": "00uyhvyq87xgV4qQ****", "ver": 1, "iss": "https://****.okta.com", "aud": "0oaylbem3eBMiwIz****", "iat": 1766475191, "exp": 1766478791, "jti": "ID.6ywwkKDDGqivVjbwdE16dVygBGa0UEslOwovs0Y****", "amr": [ "mfa", "otp", "pwd", "okta_verify" ], "idp": "00oy7sk1coYRWkrs****", "auth_time": 1766470553, "at_hash": "Jf8NvN9QvLV2tRhcl6****" }
步骤三:在Agent Identity侧创建身份提供商
登录AgentIdentity控制台,在左侧导航栏选择。
在身份提供商列表页,单击创建身份提供商。
在创建身份提供商页面,配置以下参数:
身份提供商名称:输入自定义的身份提供商名称。
描述(可选)。
OIDC元数据地址:输入Okta的OIDC元数据地址,格式为
https://<your-okta-domain-name>/.well-known/openid-configuration。允许的目标受众:保持选中指定受众白名单,并输入步骤一中创建的OIDC应用的Client ID。如需支持多个目标受众,可输入多个Client ID,并以换行符分隔。
单击创建身份提供商。
步骤四:在Agent Identity中将身份提供商关联到工作负载身份
身份提供商必须要关联到工作负载身份才可以完成入站授权。如果您还没有创建工作负载身份,请参考创建工作负载身份完成创建。
登录AgentIdentity控制台,在左侧导航栏选择。
在工作负载身份列表页,单击目标工作负载身份。
在工作负载身份详情页的认证流程区域,单击身份提供商下的关联身份提供商。

在关联身份提供商选择框中,从下拉列表中选择步骤三创建的身份提供商。
单击确定。