3

我们有一个使用 Spring Boot + AngularJS 开发的单网页应用程序,我们希望将 Okta 集成到身份验证部分。

但我不知道如何在登录小部件和 idp saml 元数据(https://dev-xxx.oktapreview.com/app/exk8disnrzUPIpsuP0h7/sso/saml/metadata)之间建立链接?登录小部件是否与 SAML 2.0 兼容?或者我们在使用 Okta 登录小部件时必须使用 OAuth2 协议?

谢谢

4

1 回答 1

5

元数据文件旨在供您正在使用的 SAML 工具包使用。例如,它具有将发送 SAML 请求的单点登录和单点注销 URL。

但是,如果您希望使用登录小部件登录 SAML 应用程序,则需要为您的应用程序使用自定义登录页面选项并将其设置为使用登录小部件的 url。转到应用程序 -> 您的 SAML 应用程序 -> 常规选项卡。一直向下滚动到底部,您将看到“App Embed Link”部分。编辑它并选择“为此应用程序使用自定义登录页面”并输入您的登录小部件的 url。请看下图。

在此处输入图像描述

一旦你这样做。您需要将 SAML 应用程序的应用程序嵌入链接(也从应用程序嵌入链接部分获得)传递给登录小部件中的 setCookieAndRedirect 函数。请看下面的例子。

 oktaSignIn.renderEl(
      { el: '#okta-login-container' },
      function (res) {
        if (res.status === 'SUCCESS') {
          res.session.setCookieAndRedirect('https://org-name.okta.com/home/<app_name>/0oa4x7wkpxxxHDG8N0x7/alm5xyyyyh8eH7M6dO0x6');

        }
      } 
    );

稍后当您访问您的应用程序时,它将带您登录小部件,您登录,它将与 Okta 建立会话并将您登录到应用程序。

您可以在 SAML 跟踪器中查看此案例的 SAML 请求和响应。

于 2016-10-21T18:41:01.567 回答