oauth2.0 OKTA:Angular 7应用程序的无PKCE授权代码流

hwazgwia  于 5个月前  发布在  Angular
关注(0)|答案(1)|浏览(77)

如何将现有的angular 7应用程序从隐式流迁移到授权代码流。注意:没有pkce。
实际情况:在现有的使用IDP/单唱机制自动登录到应用程序。
期望:我想从隐式流改为只使用授权代码流而不使用pkce,并且必须自动登录(IDP/ SSO)
后端使用spring的微服务 Boot ,已经做好了okta提供和消费者的API.
我没有看到任何相同的实现或示例应用程序,至少对于授权代码流来说是这样。
Thanks in advance
请让我知道,如果任何额外的信息是需要或不清楚与我提供的信息以上。

pqwbnv8z

pqwbnv8z1#

使用没有PKCE的“公共”客户端是非常不安全的,Angular应用程序只能是公共OAuth2客户端。
实际上,根据最新的建议,您的Angular应用程序根本不应该是OAuth2客户端(它不应该从授权服务器获取令牌)。最好的替代方案可能是在您的服务器上运行的BFF上使用会话授权其请求。
好消息是:

  • 默认情况下,Spring机密OAuth2客户端不使用PKCE
  • 作为BFF,您可以使用配置为OAuth2客户端的spring-cloud-gateway示例(使用oauth2Login)以及Angular应用程序和资源服务器之间的TokenRelay过滤器(使用令牌保护的Spring无状态REST API)。我为herethere编写了教程。

相关问题