我们有一个使用Spring Boot + AngularJS开发的单一网页应用程序,我们希望将Okta集成到身份验证部分。
但我不知道如何在登录小部件和idp saml元数据(https://dev-xxx.oktapreview.com/app/exk8disnrzUPIpsuP0h7/sso/saml/metadata)之间建立链接? 登录小部件是否与SAML 2.0兼容?或者我们必须在使用Okta登录小部件时使用OAuth2协议?
由于
答案 0 :(得分:3)
元数据文件应由您正在使用的SAML工具包使用。例如,它具有单点登录和单个注销URL,其中将发送SAML请求。
但是,如果您希望使用登录窗口小部件登录SAML应用程序,则需要为您的应用程序使用自定义登录页面选项,并将其设置为使用登录窗口小部件的URL。转到应用程序 - >您的SAML应用程序 - >常规选项卡。向下滚动到底部,您将看到" App Embed Link"部分。编辑并选择"使用此应用程序的自定义登录页面"并输入登录小部件的URL。请看下面的图片。
一旦你这样做了。您需要将SAML应用程序的app embed链接(也从App Embed Link部分获得)传递到登录窗口小部件中的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请求和响应。