Okta 配置
config.json
{
"oidc_providers": {
"okta": {
"display_name": "Sign in with Okta",
"provider_url": "https://trial-776xxxx.okta.com/oauth2/default",
"client_id": "***",
"client_secret": "***",
"redirect_url": "https://semaphore.example.com/api/auth/oidc/okta/redirect/"
}
}
}
IdP 发起的登录
若要让用户从 Okta 控制面板的图块开始登录,请为该提供方启用 IdP 发起的登录:
config.json
{
"oidc_providers": {
"okta": {
"...": "...",
"allow_idp_initiated": true
}
}
}
然后,在 Okta Admin Console 中打开应用的 General 设置,并配置 Login 部分:
-
将 Login initiated by 设置为 Either Okta or App(或 App Only)。
-
将 Initiate login URI 设置为:
https://semaphore.example.com/api/auth/oidc/okta/initiate -
(可选)在 Application visibility 下启用 Display application icon to users,这样图块就会显示在 Okta 控制面板上。
Okta 会发送 iss 和 target_link_uri 参数;Semaphore 会根据你的 provider_url 校验 iss,然后开始
一次正常的授权码流程。