接口采用Spring security OAuth2 ResourceServer认证
默认用Mysql数据库,如需用其他数据库请修改配置文件以及数据库驱动
创建数据库SQL:数据库名、数据库用户名、数据库密码需要和application.properties中的一致
CREATE DATABASE IF NOT EXISTS coupon_db DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create user 'coupon'@'localhost' identified by 'password_dev!';
grant all privileges on coupon_db.* to 'coupon'@'localhost';
建表sql在src/main/resources/sql/create-database-table.sql
初始化sql在src/main/resources/sql/init.sql
!!!启动Resource Server之前,须先确认OAUTH2 server运行中,并修改application.properties中issuer-uri指向OAUTH2 server,最后启动Resource Server应用
请求时添加Authorization header
Authorization:Bearer a.b.c
/api/a?access_token=a.b.c
当client,resource和server在一台主机时,请用域名访问,否则cookies会相互覆盖,影响测试,以下配置仅供参考
127.0.0.1 client.sso.com
127.0.0.1 server.sso.com
127.0.0.1 api.sso.com
server {
server_name server.sso.com;
listen 80 ;
listen [::]:80;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header REMOTE-HOST $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
index index.html;
location / {
proxy_pass http://localhost:10380/;
}
}
server {
server_name client.sso.com;
listen 80 ;
listen [::]:80;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header REMOTE-HOST $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
index index.html;
location / {
proxy_pass http://localhost:10480/;
}
}
server {
server_name api.sso.com;
listen 80 ;
listen [::]:80;
proxy_set_header Host $host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header REMOTE-HOST $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
index index.html;
location / {
proxy_pass http://localhost:10580/;
}
}