如何将现有的 Angular 7 应用程序从隐式流迁移到授权代码流。 注意:不带 pkce。
实际: 现有使用 IDP/单点登录机制自动登录到应用程序。
期望: 我想从隐式流程更改为仅使用没有 pkce 的授权代码流程并且必须自动登录(IDP/SSO)
后端使用Spring Boot微服务,已经完成了okta提供和消费者API。
至少对于授权代码流程,我没有看到任何相同的实现或示例应用程序。
提前致谢
如果需要任何其他信息或我上面提供的信息不清楚,请告诉我。
使用没有 PKCE 的“公共”客户端是非常不安全的,Angular 应用程序只能是公共 OAuth2 客户端。
实际上,根据最新的建议,您根本不应该使用公共客户端。好消息是 Spring 机密 OAuth2 客户端默认不使用 PKCE。
您可能应该使用配置为 OAuth2 客户端的
spring-cloud-gateway
实例(带有 oauth2Login
)以及 Angular 应用程序和资源服务器之间的 TokenRelay
过滤器(使用令牌保护的 Spring REST API)。我为此写了一个教程here。