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

目前做哪些网站致富wordpress文章目录在哪里

目前做哪些网站致富,wordpress文章目录在哪里,安徽网新科技,智慧团建入口官网oauth2 引言 读了《设计模式之美》和《凤凰架构》架构安全篇之后#xff0c;决定写一个OAuth2.0的认证流程的Demo#xff0c;也算是一个阶段性的总结#xff0c;具体原理实现见《凤凰架构》(架构安全设计篇)。 涉及到的源码可以从https://github.com/WeiXiao-Hyy/oauth2获…oauth2 引言 读了《设计模式之美》和《凤凰架构》架构安全篇之后决定写一个OAuth2.0的认证流程的Demo也算是一个阶段性的总结具体原理实现见《凤凰架构》(架构安全设计篇)。 涉及到的源码可以从https://github.com/WeiXiao-Hyy/oauth2获取欢迎Star! OAuth2.0原理 主要解决的问题 面向解决第三方应用(Third-Party Application)的认证授权协议使用Token代替用户密码作为授权的凭证。 有了令牌之后哪怕令牌被泄漏也不会导致密码的泄漏令牌上可以设定访问资源的范围以及时效性每个应用都持有独立的令牌哪个失效都不会波及其他 OAuth2.0一共提出了四种不同的授权方式 授权码模式(Authorization Code)隐式授权模式(Implicit)密码模式(Resource Owner Password Credentials)客户端模式(Client Credentials) 本文介绍和实现的是授权码方式。 OAuth2.0流程图 client请求授权服务端获取Authorization Codeclient通过Authorization Code再次请求授权服务端获取Access Tokenclient通过服务端返回的Access Token获取用户的基本信息。 流程图如下所示: 第一次使用github账号应用来登陆掘金需要进行授权 掘金即是第三方应用, 请求GitHub。 注册一个新的OAuth Application 如果我们需要使用GitHub账号来关联我们自己的第三方应用则需要完整走一遍OAuth2.0流程。 GitHub生成的client_id, client_secret(密钥), redirect_uri, homepage_url, application_name等等。 clientId如何生成唯一的 在注册clientId以及申请clientSecret时如何保证生成的clientId是不重复的呢 和JWT以及Cookie-Session对比 参考《凤凰架构》架构安全篇 https://icyfenix.cn/architect-perspective/general-architecture/system-security/authorization.html 谈谈State参数为什么可以防止CSRF攻击 观察GitHub OAuth2.0实现文档可以观察到在authroize接口需要传递一个state参数并且在redirect_uri重定向时原封不动传递回来所以为什么可以防止CSRF攻击呢 核心: 在于授权服务端进行token请求绑定时会从session将本次会话的账号与生成access_token进行绑定而对于用户是谁并不关心。 案例 用户B登录掘金网站并且选择绑定自己的GitHub账号;掘金网站将用户B重定向到GitHub由于他之前已经登录过GitHub所以GitHub直接向他显示是否授权掘金访问的页面;用户B在点击同意授权之后截获GitHub服务器返回的含有authorization code参数的HTTP响应;用户B精心构造一个Web页面它会触发掘金网站向GitHub发起令牌申请的请求而这个请求中的authorization code 参数正是上一步截获到的code;用户B将这个Web页面放到互联网上等待或者诱骗受害者用户A来访问;用户A之前登录了掘金 网站只是没有把自己的账号和其他社交账号绑定起来。在用户A访问了用户B准备的这个Web页面令牌申请流程在用户A的浏览器里被顺利触发掘金 网站从GitHub那里获取到access_token但是这个token以及通过它进一步获取到的用户信息却都是攻击者用户B;掘金网站将用户B的GitHub账号同用户A的掘金账号关联绑定起来从此以后用户B就可以用自己的GitHub账号通过OAuth 登录到用户A在掘金网站中的账号堂而皇之的冒充用户A的身份执行各种操作; 代码实现(知识碎片总结) 本部分将开发过程中遇到的难点记录下来具体源码参考此repo postman 请求共享session问题 本文为单体应用使用了HttpServletRequest和HttpSession方便开发将相关的数据保存在服务器的Session中但是Postman在发送请求的时候 不会将其视为同一个连接导致获取不到Session中的数据需要每次将用户登陆的Cookie赋值到相应的接口上才能获取到Session中的数据。 实现HandlerInterceptor接口完成请求过滤 涉及到接口请求过滤条件时可以通过实现WebMvcConfigurer接口来添加过滤规则例如 授权前用户没有登陆则需要重定向到登陆页面如果access_token过期则需要重新获取… Configuration public class WebMvcConfig implements WebMvcConfigurer {//注意注入bean的写法Beanpublic OauthInterceptor oauthInterceptor() {return new OauthInterceptor();}Beanpublic AuthAccessTokenInterceptor accessTokenInterceptor() {return new AuthAccessTokenInterceptor();}Beanpublic LoginInterceptor loginInterceptor() {return new LoginInterceptor();}Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginInterceptor()).addPathPatterns(/user/**, /oauth2.0/authorizePage, /oauth2.0/authorize, /sso/token);registry.addInterceptor(oauthInterceptor()).addPathPatterns(/oauth2.0/authorize);registry.addInterceptor(accessTokenInterceptor()).addPathPatterns(/api/**);} }参考资料 https://icyfenix.cn/architect-perspective/general-architecture/system-security/https://time.geekbang.org/column/intro/100039001https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-appshttps://juejin.cn/post/6844903668861534215#heading-4https://www.jianshu.com/p/c7c8f51713b6
http://www.hkea.cn/news/14518027/

相关文章:

  • 琼海市建设局网站如何做电商直播
  • 网站规划对网站建设起到什么作用做网站一般把宽度做多少
  • 网站做虚假广告wordpress搬家 打开404
  • rails 网站开发西安网站建设问问q778925409耍強
  • 网站如何启用gzip压缩超级外链
  • 手机网站可以做公众号朋友圈海报用什么网站做的
  • 珠海网站建设官网炫酷的移动端网站
  • 怎么快速建设小型外贸网站十大it公司排名
  • 做海鲜团购网站成都网站设计成功柚v米科技
  • 关于服装店网站建设的策划方案企业网站一定要备案吗
  • 网站编辑培训学校深圳浪尖工业设计公司
  • php网站开发试卷图片页面设计
  • 如何给网站做seowordpress 被攻击
  • 做淘宝客网站骗钱网络服务的服务提供者包括( )
  • 网站开发体会西安SEO网站建设
  • 做环境设计的网站重庆市城市建设规划官方网站
  • 绵阳市城乡建设和规划局网站网站建设图标
  • 淄博网站制作高端网络视频号下载软件免费
  • 必应站长平台哪些网站教做生物实验
  • 网站设计架构下载app至手机
  • 长荣建设深圳公司网站做网站有骗子
  • 台州公司网站外包什么叫建网站
  • 深圳国外网站建设深圳网页设计有限公司
  • 如何在谷歌做网站外链北京网站域名备案
  • 深圳做网站的公司排行icp许可证对网站的要求
  • 成都房建设部网站一流的做pc端网站
  • 笑话网站html模板北京城建建设工程有限公司
  • 网站建设技能培训茂名网站建设哪家好
  • 洛阳建站公司效果国际知名设计公司收入
  • 官方网站建设公优秀企业网站建设