oauth2使用授权码模式

  1. 需要开放可登陆权限
 @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.logout().permitAll();
        http.requestMatchers().anyRequest()
                .and()
                .authorizeRequests()
                // 使用authenticated才可以使用授权登录模式。 "/users/**"
                .antMatchers("/oauth/**","/login","/oauth/authorize","/oauth/check_token").permitAll()
                // 刷新令牌可用
                .and().httpBasic()
                // refresh_token时需要携带,忘记了
                .and().csrf()
                
                .and().formLogin()
//                .loginPage("/login-view")
//                .loginProcessingUrl("/login")
                .permitAll()
                .disable();
    }

在这里插入图片描述
这里使用的是eureka和getway网关
配置如下
在这里插入图片描述

让/oauth/authorize地址直接指向oauth服务,并保留请求路径,否则在获取授权的页面会报错找不到

  - id: service-auth
    uri: lb://service-auth
    predicates:
      - Path=/auth/**
    filters:
      - StripPrefix=1
  - id: service-auth
    uri: lb://service-auth
    predicates:
      - Path=/oauth/authorize
    filters:
      - PreserveHostHeader

  1. 数据库或内存中需添加返回路径,并且权限中有authorization_code
    在这里插入图片描述
  2. 请求
// 你自己的请求地址,auth为getway网关转发
http://localhost:8102/auth/oauth/authorize?response_type=code&client_id=client

在这里插入图片描述
5. 添加权限
如果未登陆则回跳出登陆弹出框,登陆完成后出现授权页,点击授权即可,这里已经授权过了,找不到页面了
7. 得到授权码
在这里插入图片描述
8. 获取token

http://localhost:8102/auth/oauth/token?grant_type=authorization_code&code=Qf0Mee&client_id=client&client_secret=123456&scope=all

在这里插入图片描述
最后,有看不懂的同学可以留言,我会在有空的时候完善一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

vace cc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值