java oauth2搭建_详解Springboot Oauth2 Server搭建Oauth2认证服务

源码比较全面,教程我就只介绍关键代码了,喜欢的点个star,谢谢!

关键词

微服务认证

Oauth2

认证中心

springboot

spring-cloud-starter-oauth2

集成Oauth2

Oauth2 客户端

介绍

这里我将介绍两个部分

Oauth2 server 的开发 (hi-auth-web模块)

Oauth2 client 的开发 (hi-mall-web模块)

效果图

d17b1717ea10dcdda8ca8fccba67e3f0.gif

himall.gif

fe5bfa777b7d568775776631eb2c6e24.gif

umc.gif

LIVE DEMO

Oauth2 server 搭建

数据库表(mysql5.6),其中只有sys_user表由我们自己控制,其他表由框架控制

CREATE TABLE `clientdetails` (

`appId` varchar(255) NOT NULL,

`resourceIds` varchar(256) DEFAULT NULL,

`appSecret` varchar(256) DEFAULT NULL,

`scope` varchar(256) DEFAULT NULL,

`grantTypes` varchar(256) DEFAULT NULL,

`redirectUrl` varchar(256) DEFAULT NULL,

`authorities` varchar(256) DEFAULT NULL,

`access_token_validity` int(11) DEFAULT NULL,

`refresh_token_validity` int(11) DEFAULT NULL,

`additionalInformation` varchar(4096) DEFAULT NULL,

`autoApproveScopes` varchar(256) DEFAULT NULL,

PRIMARY KEY (`appId`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `oauth_access_token` (

`token_id` varchar(256) DEFAULT NULL,

`token` blob,

`authentication_id` varchar(255) NOT NULL,

`user_name` varchar(256) DEFAULT NULL,

`client_id` varchar(256) DEFAULT NULL,

`authentication` blob,

`refresh_token` varchar(256) DEFAULT NULL,

PRIMARY KEY (`authentication_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `oauth_approvals` (

`userId` varchar(256) DEFAULT NULL,

`clientId` varchar(256) DEFAULT NULL,

`scope` varchar(256) DEFAULT NULL,

`status` varchar(10) DEFAULT NULL,

`expiresAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`lastModifiedAt` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `oauth_client_details` (

`client_id` varchar(255) NOT NULL,

`resource_ids` varchar(256) DEFAULT NULL,

`client_secret` varchar(256) DEFAULT NULL,

`scope` varchar(256) DEFAULT NULL,

`authorized_grant_types` varchar(256) DEFAULT NULL,

`web_server_redirect_uri` varchar(2560) DEFAULT NULL,

`authorities` varchar(256) DEFAULT NULL,

`access_token_validity` int(11) DEFAULT NULL,

`refresh_token_validity` int(11) DEFAULT NULL,

`additional_information` varchar(4096) DEFAULT NULL,

`autoapprove` varchar(256) DEFAULT NULL,

PRIMARY KEY (`client_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `oauth_client_details` VALUES ('client', null, '$2a$10$1N/.LvTJuYpvxDzoJ1KdvuPDdV/kDSQE9Cxm9BzB1PreyzK6gmFRe', 'ALL,AUTH,USER,GOODS,ORDER', 'authorization_code,client_credentials,password,refresh_token', 'http://localhost:8081/mall/callback,http://localhost:9080/user/webjars/springfox-swagger-ui/oauth2-r

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值