我已经能够使用以下文档为我的 AngularJS 应用程序成功配置单点登录:
当点击 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 过滤器。
您还需要记住,TokenRelay 过滤器只会将令牌传递给网关后面的服务器应用程序。
前任: Browser -> SCG -> (token id added here) -> your server app
您的服务器应用程序将正常响应,可能会使用您的静态 HTML/CSS。如果您想从客户端(即浏览器/单页应用程序/Angular 应用程序)访问用户信息,那么您的服务器应用程序将需要将该信息公开给您的应用程序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句