首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在同一个应用程序中配置OAuth2ResourceServer和OAuth2Client?

如何在同一个应用程序中配置OAuth2ResourceServer和OAuth2Client?
EN

Stack Overflow用户
提问于 2020-12-03 09:56:44
回答 1查看 600关注 0票数 4

我的应用程序由一个角度UI和一个Spring后端组成。两者都捆绑在一起并部署在同一台服务器上。我是Security/Oauth2的新手,我发现它非常令人困惑。我想要公开一些API,这些API可以从UI或Postman/Swagger.I中使用,我已经成功地配置了SpringSecurity5的OAuth2ResourceServer,它运行得非常好。当我用承载令牌调用API时,它就像预期的那样工作。

代码语言:javascript
复制
http.requestMatchers().antMatchers("/api/**")
    .and().authorizeRequests().anyRequest().authenticated()
    .and().oauth2ResourceServer().jwt(); 

现在,我还必须配置相同的API调用时从UI。这很让人困惑。我试图创建一个单独的http配置如下;

代码语言:javascript
复制
http.antMatcher("/**").authorizeRequests()
        .antMatchers("/").permitAll()
        .anyRequest().authenticated()
        .and()
        .oauth2Login();
...
...

我真的不知道该怎么做。我已经在clientid, clientSecret, authorization-grant-type, redirect-uri, scope, authorization-uri, token-uri文件中配置了application.properties。期望使用集中式登录页面提示用户,并以某种方式将grant_code交换为访问令牌(Jwt)。来自UI的所有请求都必须在其头中包含此令牌才能访问API,我在前面已经描述过这个API()。同样,对于将令牌存储在标头或cookie中,我感到困惑。

抱歉,如果我不清楚的话。我对OAuth2的理解是非常基本的,我正试着阅读一页文档,这对我来说毫无意义。

EN

回答 1

Stack Overflow用户

发布于 2022-11-24 16:39:29

您可以将后端保留为oauth2资源服务器(现在是这样),然后将前端配置为oAuth2公共客户端。您可以使用角键斗篷库进行此操作。然后,前端代码负责从您的ID中获取访问令牌,然后在每个api调用的请求头中设置它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65123627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档