当前位置: 首页 > news >正文

网站建设 自己的服务器电商推广

网站建设 自己的服务器,电商推广,昆明公司网站制作,小程序直播为什么80%的码农都做不了架构师?>>> 一、场景 三个角色:用户(user),web应用(client),资源服务器和授权服务器合为服务器(server) 用户登录登录后可查看自己的信息 二、准备 2.1 数据库 schema drop table if exists o…

为什么80%的码农都做不了架构师?>>>   hot3.png

一、场景

三个角色:用户(user),web应用(client),资源服务器和授权服务器合为服务器(server)

用户登录登录后可查看自己的信息

二、准备

2.1 数据库

schema

drop table if exists oauth2_client;
drop table if exists oauth2_user;create table oauth2_user (id bigint auto_increment,username varchar(100),password varchar(100),salt varchar(100),constraint pk_oauth2_user primary key(id)
) charset=utf8 ENGINE=InnoDB;
create unique index idx_oauth2_user_username on oauth2_user(username);create table oauth2_client (id bigint auto_increment,client_name varchar(100),client_id varchar(100),client_secret varchar(100),constraint pk_oauth2_client primary key(id)
) charset=utf8 ENGINE=InnoDB;
create index idx_oauth2_client_client_id on oauth2_client(client_id);

data

DELIMITER ;
delete from oauth2_user;
delete from oauth2_client;insert into oauth2_user values(1,'admin','d3c59d25033dbf980d29554025c23a75','8d78869f470951332959580424d4bf4f');
insert into oauth2_client values(1,'chapter17-client','c1ebe466-1cdc-4bd3-ab69-77c3561b9dee','d8346ea2-6017-43ed-ad68-19c0f971738b');

2.2 Server

zetark-oauth2-server

修改数据库链接 resources.properties

#dataSource configure
connection.url=jdbc:mysql://mysql-server:3306/shiro
connection.username=r00t
connection.password=r00t

2.3 Client

zetark-oauth2-client

三、过程分析

1)2)用户访问client首页,检测到用户未登录,重定向到login

3)4)点击授权登录,输入admin/123456后点击登录并授权按钮

// 3)授权请求  http://localhost:8080/zetark-oauth2-server/oauth2login
if (!isLogin && servletPath.startsWith("/login_authorize")) {String authorizeUrl = ClientParams.OAUTH_SERVER_AUTHORIZE_URL;authorizeUrl += "?client_id=c1ebe466-1cdc-4bd3-ab69-77c3561b9dee";authorizeUrl += "&response_type=code";authorizeUrl += "&&redirect_uri=" + ClientParams.OAUTH_SERVER_REDIRECT_URI;response.sendRedirect(authorizeUrl);return;
}
// 4)授权响应
if (!isLogin && servletPath.startsWith("/login_response")) {String code = request.getParameter("code");if (code != null) {// 6)7)令牌请求及响应 http://localhost:8080/zetark-oauth2-server/accessTokenOAuthAccessTokenResponse tokenResponse = null;try {tokenResponse = OauthClient.makeTokenRequestWithAuthCode(code);} catch (OAuthProblemException e) {e.printStackTrace();} catch (OAuthSystemException e) {e.printStackTrace();}if (tokenResponse != null) {session.setAttribute("isLogin", true);session.setAttribute("token", tokenResponse.getAccessToken());session.setMaxInactiveInterval(tokenResponse.getExpiresIn().intValue());// 10)11) 根据token调用apiString userInfoJson = OauthClient.getAuthedService(tokenResponse.getAccessToken());Map<String, Object> userInfo = new Gson().fromJson(userInfoJson, Map.class);System.out.println(userInfo);session.setAttribute("user", userInfo);response.sendRedirect("index");return;}} else {String errorDesc = request.getParameter("error_description");System.out.println("登录失败:" + errorDesc);}
}

访问过程

client_uri:/
client_uri:/login
# 用户访问client首页/,由于未登录被重定向到/login页面client_uri:/login_authorize
server_uri:/oauth2login
# 用户在/login页面点击授权登录后,向server发起授权请求,server返回登录页面/oauth2loginserver_uri:/authorize
client_uri:/login_response
# 用户在/oauth2login填写用户名密码后点击授权登录后,server验证后重定向到/login_resposneserver_uri:/accessToken
server_uri:/checkAccessToken
# client在处理/login_response时接收code并再发起令牌请求,server返回令牌server_uri:/v1/openapi/userInfo
# client根据令牌信息请求api服务client_uri:/index
# 向用户返回/index页面

四、参考

https://github.com/ameizi/oltu-oauth2-example

转载于:https://my.oschina.net/yysue/blog/1631375

http://www.lbrq.cn/news/2637865.html

相关文章:

  • 自己做的网站响应速度慢百度推广的步骤
  • 深圳方维网站建设seo顾问服务 乐云践新专家
  • 专业做网站咨询seo点击排名器
  • 了解网站建设企业seo整站优化方案
  • 二级域名购买平台优化设计英语
  • 成都微信网站建设多少优化关键词方法
  • 上海景点排名前十久久seo综合查询
  • 域名解析网站建设少女长尾关键词挖掘
  • 校园超市网站开发背景百度正版下载并安装
  • app制作网站有哪些 请列举网站及搜索引擎优化建议
  • 合肥++网站建设莆田seo
  • 宁波网页网站制作离我最近的广告公司
  • 购物网站哪个质量好电商培训机构有哪些哪家比较好
  • 东莞塘厦网站制作线上推广方案怎么写
  • jsp 网站开发教程新网站百度收录
  • 国家重点建设裤网站网络推广页面
  • 南京网站建设一条龙手机关键词排名优化
  • 做网站效果图总结优秀网站设计案例
  • 网上服务大厅登录抖音seo搜索优化
  • 做团购网站需要多少钱模板建站优点
  • 苏州做网站的杭州seo博客有哪些
  • 哪家公司建设网站临沂百度推广多少钱
  • 有哪些网站可以做推文今日疫情实时数据
  • 网站中下拉列表框怎么做长沙网络公司最新消息
  • 石河子农八师建设兵团社保网站推广联系方式
  • 软件代做网站在哪找活东莞百度推广排名
  • 永平建设有限公司网站中国十大企业培训机构排名
  • 网站设计步骤及注意事项百度指数搜索热度排行
  • 学习网页设计网站制作广州推广优化
  • 程序员做项目网站小时seo百度关键词点击器
  • 在 Debian 系统上安装 Redis服务
  • Linux 内存管理之page folios
  • HTML 与 CSS:从 “认识标签” 到 “美化页面” 的入门指南
  • CSS--:root指定变量,其他元素引用
  • DBeaver 25.1.0 转储数据库失败解决方案(适配最新版界面)
  • (附源码)基于Web的物流信息管理系统