我们成功实施了 SSO,其中 Okta 作为 IdP,外部 PHP 站点作为 SP。我们目前正在使用 Okta 登录小部件,它向我们的 PHP SP 发送 SAML2 令牌。
问题是,我们现在是否可以从小部件更改为 API,并且仍然可以在通过 API 成功登录时获得 SAML 2 令牌?
因此,自从发布此消息后,我发现-'是的,您可以'。我不知道这是否是最干净/最好的方法,但它有效,这里是如何做到的,以防其他人被困在这个问题上......
已经在 Okta 作为 IdP 和 PHP 站点作为 SP 之间进行 SAML2 通信。
在 Okta 中创建 API 访问令牌。
使用访问令牌从 API 为您要登录的特定用户发布一次性使用令牌的请求:http: //developer.okta.com/docs/api/resources/sessions.html
将具有检索到的一次性会话令牌的用户重定向到您的应用程序的具有一次性会话令牌的嵌入链接:http: //developer.okta.com/docs/examples/session_cookie.html#retrieving-a-session-cookie-通过访问应用程序嵌入链接
这将使用户登录到 Okta 以获得适当的会话,然后我们可以使用它发送到我们的 PHP 端点以获取我们想要的 SAML2 令牌,同时利用 API 的完全定制优势。