菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
93
0

阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_18-认证接口开发-接口开发-service

原创
05/13 14:22
阅读数 9157

定义AuthController


实现刚才写的api接口


controller定义热requestMapping 是 / 就可以了。

因为我们的登陆跟路径就是/auth. 这样到login就是 /auth/userlogin


定义Service


在controller里面注入Service。我们需要在service里面定义申请令牌的方法authService。里面需要账号、密码、clientId和CLientSecret

clientId和clientApp已经在配置文件内配置好了。可以直接注入到Controller里面就可以了。

通过@Value注入进来

定义一个对象来存储令牌




在service内定义方法

方法叫做login



这样方法就会在Service里面创建了

可以把之前写的测试的方法 直接复制过来 拿来用。

注入




复制过来的方法 只是把获取到了令牌。并没有把令牌存储到Redis。所以建议复制来的代码 单独定义一个方法叫做申请令牌的方法



applyToken申请令牌的方法

还有一个获取httpBasic的方法也复制过来。


替换为传过来的变量


bodyMap就是我们拿到的下面令牌的整个json信息


主方法调用,如果为空。那么就抛出异常


再定义一个异常的错误代码

存储到redis

注入StringRedisTemplate


主方法调用redis存储

redis过期时间在配置文件内配置了

注入过期时间

存储redis,如果没有成功就抛出存储失败的异常。

异常类里面再定义一个


最终参数返回

service认证的方法完成

 

发表评论

0/200
93 点赞
0 评论
收藏
为你推荐 换一批