首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户令牌验证

用户令牌验证
EN

Stack Overflow用户
提问于 2022-08-28 16:30:14
回答 1查看 182关注 0票数 2

对于少数微服务的后端,我有API网关(Spring ),在此我想验证用户从前端发送的azure令牌在路由微服务之前是否有效。到目前为止,无论是否添加有效的令牌,我都只能得到401响应。

我的安全配置类:

代码语言:javascript
复制
@EnableWebFluxSecurity
public class SecurityConfiguration {

    @Bean
    public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) throws Exception {
        http.csrf().disable()
                .authorizeExchange(exchanges -> exchanges
                        .anyExchange().authenticated()
                )
                .oauth2ResourceServer(oauth2 -> oauth2
                        .jwt(withDefaults())
                );

        return http.build();
    }

}

Application.properties

代码语言:javascript
复制
spring.security.oauth2.resourceserver.jwt.issuer-uri=https://login.microsoftonline.com/{tenant_id}/v2.0

pom.xml

代码语言:javascript
复制
    <dependency>
        <groupId>com.azure.spring</groupId>
        <artifactId>spring-cloud-azure-starter-active-directory-b2c</artifactId>
    </dependency>

如果我已经有了访问令牌,并且只想在传递到服务之前在网关上验证它,我就找不到任何帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-29 16:11:53

如果登录/身份验证是通过azure活动目录进行的,请检查将以下com.azure.spring : spring-cloud-azure-starter-active-directory maven依赖项添加到pom.xml文件中。

代码语言:javascript
复制
<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-starter-active-directory</artifactId>
    <version>4.3.0</version>
</dependency>

  • 还请确保,如果发行人解码令牌后有v2 endpoint,则accessTokenAcceptedVersion应设置为2,否则将设置为0或1

另外,尝试给一些时间,并请检查解码令牌的受众是否等于应用程序的clientId或appId uri,以及是否授予范围管理许可。

此外,请检查this SO reference

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

https://stackoverflow.com/questions/73520392

复制
相关文章

相似问题

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