Oauth2.0访问接口401Unauthorized

说到底出现这些问题始终是对框架的不熟悉。
在配置完AuthorizationServerConfig加上@EnableAuthorizationServer注解
表示这是一个授权服务器
访问oauth/token并且成功返回token后心中大定,感觉稳了。
但带着token发现怎么403,稍稍百度发现哦原来忘记加上.httpBasic()
好嘛,我放上去后发现报401。至少着报的错不一样了不是
打开日志,发现用户的principle是匿名的
懵了呀,怎么会是匿名的呢,咱可是数据库里有名有性活脱脱一个小菜鸡啊。
查了半天总算发现是因为要声名我自己也是个资源服务器才行
哎呀呀,大意了
添加ResourceConfigService继承ResourceServerConfigurerAdapter
后果然可以正常访问接口了

### OAuth 2.0 接口实现与使用教程 #### 安全授权框架概述 OAuth 2.0 是一种授权框架,旨在不同应用程序间提供安全的授权和身份验证机制[^1]。 #### 配置基础步骤 为了使应用程序能够利用 OAuth 2.0 提供的安全特性,通常需要完成一系列配置操作。这些操作包括但不限于设置客户端ID、密钥以及回调URL等参数。通过这种方式确保了只有经过合法注册的应用程序才能请求并获得用户的许可来访问特定资源。 #### 认证过程详解 在实际应用场景中,OAuth 2.0 主要负责两项核心任务:一是执行用户的身份认证即登录流程;二是管理针对API接口的操作权限授予(CRUD)。当第三方应用希望获取受保护的数据时,必须先经历一个严格的认证环节,在此期间会向该应用发放特制令牌(Token),以此证明其已被正式认可可以继续下一步动作——携带所获Token去调用目标服务下的各个端点[^3]。 #### Java代码片段展示如何创建自定义 Token 类型 对于基于Spring Security构建的服务而言,可以通过继承`DefaultOAuth2AccessToken`类来自定义所需功能,如下所示: ```java import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken; public class CustomOAuth2AccessToken extends DefaultOAuth2AccessToken { public CustomOAuth2AccessToken(Map<String, Object> parameters) { super(parameters); } } ``` 上述代码展示了怎样扩展默认的Access Token对象以便于加入更多业务逻辑或属性支持[^2]。 #### 四种常见的授权模式介绍 OAuth 2.0 支持四种不同的授权方式,每种适用于不同类型的需求场景: - **授权码模式 (Authorization Code)**: 最常用的一种形式,适合Web 应用和服务端应用; - **隐式模式 (Implicit Grant)** : 更加轻量级的选择,主要用于浏览器脚本环境; - **密码凭证模式 (Resource Owner Password Credentials)** :允许直接提交用户名/密码换取 Access Tokens ,但安全性较低不推荐广泛采用; - **客户端证书模式 (Client Credentials)** :仅限于机器到机器通信场合下使用,比如后台作业调度系统之间的交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值