微服务接入oauth2_SpringCloud微服务实战系列(二十)Ouath2在真实场景中的应用之客户端接入(第二种写法)...

本文介绍了SpringCloud微服务中OAuth2客户端接入的第二种方法,包括引入依赖、配置文件设置、启动应用、安全控制配置以及测试案例。详细讲解了OAuth2的客户端配置、资源服务器配置以及如何使用OAuth2RestTemplate获取用户信息。
摘要由CSDN通过智能技术生成

SpringCloud微服务实战系列(二十)Ouath2在真实场景中的应用之客户端接入(第二种写法)

一、概述

本篇就是对Oauth2的实际应用方法的客户端接入方式的另外一种方法进行介绍。这种方法跟第一种除配置外的区别是:用户信息接口需要手动调用。

Nginx配置无所谓,可以在配置中指明跳转地址。

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

在Spring Oauth2中,Oauth2的使用过程中将角色分为三种:ResourceServer,AuthorizationServer,OauthClient.

由于篇幅较大,这里将Oauth2的搭建分成三个部分。本篇介绍OauthClient的另外一种写法。

二、客户端接入

客户端接入是一个复杂的过程,按照spring-security-oauth2-boot官方文档的指引,我这里把完整的流程写出来。

下面讲述下这个过程是怎样的。

2.1 引入依赖

需要引入spring-boot-starter-web、spring-cloud-starter-security、spring-security-oauth2和spring-security-oauth2-autoconfigure相关jar包.

依赖如下:

org.springframework.boot

spring-boot-starter-web

org.springframework.cloud

spring-cloud-starter-security

org.springframework.security.oauth

spring-security-oauth2

${security.oauth2.version}

org.springframework.security.oauth.boot

spring-security-oauth2-autoconfigure

${security.oauth2.boot.version}

这里,security.oauth2.version版本是2.3.5.RELEASE,security.oauth2.boot.version是2.1.6.RELEASE。

2.2 配置文件

这里使用yaml文件写配置,配置文件application.yml:

application.yml:

server:

port: 8184

spring:

profiles:

active: loc

application:

name: oauthClient

这里应用名称为oauthClient

指定配置为loc。

application-loc.yml:

env: loc

security:

oauth2:

resource:

userInfoUri: http://res.pomit.cn/api/userInfo

preferTokenInfo: false

client:

clientId: FeiTestClient

clientSecret: 123456

grantType: authorization_code

scope: trust

accessTokenUri: http://sso.pomit.cn/oauth/token

userAuthorizationUri: http://sso.pomit.cn/oauth/authorize

preEstablishedRedirectUri: http://ow.pomit.cn/token/login

useCurrentUri: false

sso:

login-path: /token/login

remote:

ipUrl: http://res.pomit.cn/api/ip

这里配置的东西可能会让你产生疑惑,下面一一讲述:security.oauth2.client是客户端的配置,其中,clientId和clientSecret是客户端的密钥,需要在授权服务器加上这个客户端,accessTokenUri是token获取地址,后缀基本上都是/oauth/token;userAuthorizationUri是授权地址,后缀基本上都是/oauth/authorize;,grantType是授权类型,preEstablishedRedirectUri是授权成功的回调地址,并通过security.oauth2.sso.login-path对这个地址进行捕获来完成sso登录。

security.oauth2.resource是关于资源服务器的配置,是获取用户信息的地址。这个地址并不代表用户信息就能自动获取,需要用户信息的时候还是要手动通过OAuth2RestTemplate去获取。

remote.ipUrl是我自定义的配置。

基本配置就是这样了,如果中间出现问题,要多试几次查找问题。

2.3 启动

使用m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值