当前位置: 首页 > 知识库问答 >
问题:

从身份平台SAML ACS重定向(将Okta与Google身份平台集成)

何飞翰
2023-03-14

我正在尝试将谷歌身份平台SAML提供商与Okta整合。通常,使用GIP提供者的流程是提供提供者ID并等待回调的过程。这在Okta作为身份的情况下是正确的。然而,为了创建Okta集成(并允许用户单击应用程序并被带到网站),您需要提供ACS(断言消费者服务),在这种情况下,它将是https://my-app-12345.firebaseapp.com/__/auth/handler然而,当这条消息被发布到,并且收到SAML响应时,无法重定向到我们的网页。有没有办法直接使用SAML提供者的ACS,但仍然将结果返回到JS网页?

共有1个答案

昝光临
2023-03-14

问题:我正在尝试将谷歌身份平台SAML提供商与Okta整合。通常,使用GIP提供者的流程是提供提供者ID并等待回调的过程。这在Okta作为身份的情况下是正确的。

答:
(1)Okta支持第三方SAML身份提供商,如谷歌身份平台或Shibboleth身份提供商。

(一) Google Identity Platform是SAML身份提供商。Okta是SAML服务提供商。

(二) Okta是SAML身份提供者。Web应用程序(如Office 365、Salesforce、Dropbox、Box等)是SAML服务提供商。

(2) 用户可以使用Okta的第三方SAML身份提供商的凭据通过Okta登录到web应用程序。

我已经从Web应用程序的角度验证了Salesforce(Web应用程序)的以下用户身份联合过程:

(i)用户访问其Salesforce组织域(如https://example.my.salesforce.com/)

(II)选择使用不同的提供商登录

(三) 用户通过Okta被重定向到Google Identity Platform

(四) 用户提交他们的Google G Suite用户名/密码凭证(例如winston。hong@example.com )

(五) 用户被Google Identity Platform和Okta重定向回,然后成功登录到他们的Salesforce帐户。

请注意,谷歌身份平台、Okta账户和Salesforce账户的用户名是相同的,即winston.hong@example.com其组织example.com

问题:然而,为了创建Okta集成(并允许用户单击应用程序并被带到网站),您需要提供ACS(断言消费者服务),在这种情况下,这将是https://my-app-12345.firebaseapp.com/__/auth/handler然而,当此发布到,并收到SAML响应时,没有办法重定向到我们的网页。有没有办法直接使用SAML提供商的ACS,但仍然将结果返回到JS网页?

答:
(1)作为SAML身份提供者,Okta支持SAML SP启动的流和SAML IdP启动的流。作为SAML服务提供商,Salesforce支持SAML SP发起的流程。

(2)为了创建Okta集成并允许用户单击应用程序并被带到网站(如Salesforce组织域https://example.my.salesforce.com/),您不需要提供ACS(断言消费者服务)URL,而是需要提供Salesforce的组织域,即,

Application label Salesforce.com
Instance Type Production
Custom Domain example

(3) 用户可以使用Okta的第三方SAML身份提供商的凭据通过Okta登录到web应用程序。

我已经从Okta的角度验证了Salesforce(一个web应用程序)的以下用户身份联合过程(这是您的用例):

(一) 用户访问其Okta组织域(例如https://example.okta.com/)

(二) 单击需要帮助登录吗?然后点击谷歌登录

(三) 用户被重定向到Google Identity Platform

(四) 用户提交他们的Google G Suite用户名/密码凭证(例如winston。hong@example.com )

(五) 用户被重定向回,然后成功登录到其Okta帐户

(六) 在Okta主屏幕上,用户单击Salesforce应用程序图标

(VII)用户被重定向到其Salesforce组织域,然后成功登录到其Salesforce帐户。

问题:
引用"然而,当这张邮件被发布到,并且收到SAML响应时,没有办法重定向到我们的网页。有没有办法直接使用SAML提供商的ACS,但仍然将结果返回到JS网页?"

解决方案:
(1)这正是web应用程序的SAML SP ACS问题https://my-app-12345.firebaseapp.com/__/auth/handler.

(2)您必须修改Web应用程序的SAML SP配置或Web应用程序的SAML SP源代码,因为验证Okta SAML IdP发送的SAML签名后,Web应用程序的SAML SP ACSendpoint不会重定向到Web应用程序页面。

(3) 我已经从Okta的角度(这是您的用例)验证了Shibboleth SAML SP演示应用程序(与您的web应用程序并行的web应用程序)的以下用户身份联合过程:

(一) 用户访问其Okta组织域(例如https://example.okta.com/)

(二) 单击需要帮助登录吗?然后点击谷歌登录

(三) 用户被重定向到Google Identity Platform

(四) 用户提交他们的Google G Suite用户名/密码凭证(例如winston。hong@example.com )

(五) 用户被重定向回,然后成功登录到其Okta帐户

(六) 在Okta主屏幕上,用户单击Shibboleth SAML SP演示应用程序图标

(七) 用户被重定向到Shibboleth SAML SP演示应用程序,然后成功登录到其Shibboleth SAML SP演示应用程序。

(4) 通过Okta管理GUI配置通用SAML SP应用程序

Shibboleth SAML SP演示应用程序(与web应用程序my-app-12345.firebaseapp.com并行)

应用

Single Sign On URL https://samlsp.example.com/Shibboleth.sso/SAML2/POST
Recipient URL https://samlsp.example.com/Shibboleth.sso/SAML2/POST
Destination URL https://samlsp.example.com/Shibboleth.sso/SAML2/POST
Audience Restriction https://samlsp.example.com/Shibboleth.sso/Metadata

请注意,单点登录URL是web应用程序SAML SP的ACS URL。

(5) 如何在GitHub repository中使用Docker容器构建和运行Shibboleth SAML IdP和SP,提供了使用Shibboleth SAML IdP和OpenLDAP在Java中构建自己的SAML IdP的说明。

>

OpenLDAP负责身份验证。

(I)我已经验证了由运行Docker的Shibboleth SAML IdP(身份提供程序)和OpenLDAP为以下企业应用程序提供的SAML单一登录(SSO)。换句话说,我利用运行Docker的Shibboleth SAML IdP和OpenLDAP成功登录到以下企业应用程序。

Microsoft Office 365
Google G Suite
Salesforce
Dropbox
Box
Amazon AWS
OpenStack
Citrix NetScaler
VMware vCloud Director
Oracle NetSuite

(II)我还利用Docker运行的Shibboleth SAML IdP和OpenLDAP成功地通过Okta登录到Salesforce和Shibboleth SAML SP演示应用程序。

Shibboleth SAML IdP是SAML身份提供商(与谷歌身份平台并行),Okta是SAML服务提供商。

Okta是SAML身份提供商。网络应用程序(如Salesforce和Shibboleth SAML SP应用程序)是SAML服务提供商。

(三)为了您的方便,我已经第11次promise上传Okta SP元数据和相应的SAML配置到如何使用Docker容器构建和运行Shibboleth SAML IdP和SP。
请注意,我已经通过Okta成功登录了用户名为winston.hong@example.com的Salesforce组织“example.com”帐户(https://example.my.salesforce.com)。

(四) 如何使用Docker容器构建和运行Shibboleth SAML IdP和SP为SAML SP演示应用程序提供了SAML SP配置。

 类似资料:
  • 我在谷歌云平台上部署了一个web应用程序 在这个网络应用程序中,我们需要在google身份上设置对用户的身份验证,并根据他们的角色对他们进行授权。 我们采用了基于SAML的方法,其中包括 创建SAML应用程序作为身份提供者 设置SAML断言使用者服务(ACS) 通过ACS使用webapp中的身份 现在,与其开发一个明确的ACS,我们可以 在GCP中启用Identity Platform 设置SAM

  • 我正在谷歌云平台上工作,我必须使用java非Web应用程序访问云功能,就像我正在尝试使用谷歌云存储JSON API存储和检索谷歌云存储中的对象一样。 在访问这些之前,我需要对我的应用程序进行身份验证,所以我找到了授权API来进行授权访问。 null 我浏览了GCP文档,但没有得到区分这些文档的明确信息,我对GCP非常陌生,所以请您分享任何信息或博客链接,以说明如何使用Google Cloud Cl

  • 我需要使用谷歌身份提供商Hi将SAML 2.0与我们的应用程序集成 我们的应用程序目前在其架构中使用谷歌云平台和Firebase,我被指派使用Okta将SAML 2.0集成到应用程序中。我对两个平台上的不同术语感到困惑。我一直在Okta和谷歌云平台上遵循指南,但仍然无法成功解决这个问题。 我的问题来自Okta和谷歌云平台,我将在这里逐一提问 Okta创建一个新的应用程序时 受众URI(SP实体ID

  • 问题内容: 各种Python指南都说使用代替。这是为什么?相等用于比较值,因此自然而然地询问是否具有用和表示的值。有人可以解释为什么是首选形式,并举例说明两者没有给出相同答案的例子吗? 谢谢。 问题答案: 人们使用的原因是因为使用没有优势。可以编写比较等于的对象,但这并不常见。 输出: 该运营商也快,但我不认为这确实非常重要。

  • 我已经使用Google Identity Platform在我的react web应用程序上成功设置了SAML,当使用我在Okta(身份提供商)的测试帐户登录时,重定向工作正常。没有针对Google Identity Platform的mobile SAML设置的文档。是否有任何方法可以设置此设置或自定义重定向行为,以便重定向到移动URL方案?(例如,我的应用程序包id://saml登录)

  • 所以尝试整合WebAuthn。如果对平台无关的(FIDO2安全密钥)检查更容易(是否一般支持webauthN-我们继续,也许用户插入USB密钥稍后),我找不到一种方法来检查平台相关的(Windows Hello,指纹扫描器等)身份验证器。看起来就像我所需要的一样,只是 对于我的MacBook(Chrome,Firefox,Safari)总是返回true。此外,MacBook没有任何身份验证器,正在