在没有表达的情况下在reactjs中实现单点登录(saml2)

问题描述 投票:1回答:1

我想用wso2 ei实现sso saml2,其中1.i页面检查我是否经过身份验证2.如果未经过身份验证我应该重定向到sso URL 3.当我在sso身份提供者上成功登录时,我重定向到我的使用令牌4对应用程序做出反应。然后将令牌保存到localstorage并继续

我已经尝试过护照和快递在服务器端进行渲染,但我现在想在客户端进行反应步骤1.i进入我的主页并点击登录页面2.我带我去wso2身份提供商和然后我登录3.然后我重定向到我的快递应用程序

reactjs single-sign-on saml-2.0 wso2is
1个回答
0
投票

简短的回答:你做不到。

如果没有后端,则无法使用SAML。 SAML要求您注册Sercice Provider(SP),该证书必须可通过SSL证书进行识别。因此,SP必须具有私钥,由于显而易见的原因,您无法将其分发给浏览器客户端。最重要的是,断言端点应该接受POST HTTP请求,传统上只有服务器可以做。

如果您知道要使用哪个IdP,则可以跳过IdP发现,但无法绕过断言阶段。您必须具有SSO的断言端点。此端点必须能够解密使用SP的公钥加密的消息,因此必须在服务器上实现。

为了尽可能接近您想要的,您可以将SP实现为一个单独的微服务,只有一个(或两个,如果您正在使用DS)端点。登录服务的断言端点可以为用户创建令牌,并将它们重定向到在查询变量中携带令牌的前端。

© www.soinside.com 2019 - 2024. All rights reserved.