如何使用 Pivotal Spring Cloud Gateway 从单点登录 (SSO) 服务器获取用户详细信息?

科舒尔

我已经能够使用以下文档为我的 AngularJS 应用程序成功配置单点登录:

https://docs.pivotal.io/spring-cloud-gateway/1-0/getting-started.html#access-app-endpoint-at-gateway-path

当点击 URL 时,应用程序被重定向到我们的内部 SSO 页面,其余的事情随之而来并且运行良好。

在这一点上,我不确定如何获取登录应用程序的用户的详细信息。例如,登录人的用户 ID?

丹尼尔·米库萨

要访问位于 Spring Cloud Gateway 实例后面的服务中的用户详细信息,您需要使用 TokenRelay 过滤器。

https://docs.pivotal.io/spring-cloud-gateway/1-0/using-sso.html#tokenrelay

这可以通过添加"token-relay": true到您的配置来启用

例子:

$ cf bind-service cook my-gateway -c '{ "routes": [ { "path": "/cook/**", "sso-enabled": true, "token-relay": true } ] }'

此处记录了 TokenRelay 过滤器。

https://docs.spring.io/spring-cloud-security/docs/2.2.4.RELEASE/reference/html/#_client_token_relay_in_spring_cloud_gateway

您还需要记住,TokenRelay 过滤器只会将令牌传递给网关后面的服务器应用程序。

前任: Browser -> SCG -> (token id added here) -> your server app

您的服务器应用程序将正常响应,可能会使用您的静态 HTML/CSS。如果您想从客户端(即浏览器/单页应用程序/Angular 应用程序)访问用户信息,那么您的服务器应用程序将需要将该信息公开给您的应用程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SSO(单点登录)如何工作

使用JWT的单点登录(SSO)

单点登录 (sso) 如何登录到同一设备?

Spring Cloud如何定义Pivotal Cloud Foundry下的验证间隔?

LTPA 如何作为 SSO(单点登录)机制工作

如何通过keycloak自定义sso(单点登录)?

Sitecore 7.5:使用Azure AD的单点登录(SSO)

Pivotal Cloud Foundry登录问题

Spring Boot授权服务器将请求发送到外部服务以获取用户详细信息

如何使用localStorage来存储和获取用户登录详细信息?

如何从RASA chatbot中基于Java脚本的Web浏览器获取用户登录详细信息

如何获取在Pivotal Cloud Foundry上运行的python xmlsec库

使用powershell在windows服务器上获取用户登录信息

如何在单个带有Spring Cloud Security Oauth2的Spring引导应用程序中使用多个Oauth2 SSO服务器?

使用 firebase 和 flutter 登录谷歌后获取用户详细信息

使用Java和AzureAD中的SAML作为IDP实现单点登录(SSO)

使用Spring Session ID Cookie进行单点登录?

如何连接Spring Cloud Gateway + Spring Cloud Security + Keycloak

iOS 7中的单点登录(SSO)

Spring MVC和Dropwizard微服务的单点登录

在 ASP.NET Core 上使用 Identity 登录后如何直接获取用户详细信息?

使用Flutter进行社交登录身份验证时如何获取用户详细信息?

Pivotal Cloud Foundry上的Spring JPA如何知道如何连接到绑定的MySQL实例?

如何在 Pivotal Cloud Foundry 中使用证书启动 HTTPS Node JS 服务器?

如何从密钥斗篷获取用户详细信息(不是登录用户,而是任何具有其ID的用户)

Spring Cloud Gateway

如何在spring security oauth2授权服务器中通过jwt令牌获取用户信息?

如何使用Firebase和自定义服务器实施长期单点登录?

成功登录Angular中的所有页面或组件后如何获取用户详细信息(emailid)