Web三方登录实现(基于OAuth2.0,包含Github和QQ登录,附源码)

关于OAuth2.0的理论基础参考阮一峰老师的理解OAuth 2.0,其中关于授权码模式就是本篇文章的重点。

本文着重于代码,关于理论不再赘述,有不懂的可以留言。

关于不同公司的三方登录流程,只要遵循OAuth2.0规范,都大同小异。

本文介绍GitHub和QQ两种,因为这两种无需审核。

查看更多

分享到

理解OAuth 2.0

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749

一、应用场景

为了理解OAuth的适用场合,让我举一个假设的例子。

有一个”云冲印”的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让”云冲印”读取自己储存在Google上的照片。

问题是只有得到用户的授权,Google才会同意”云冲印”读取这些照片。那么,”云冲印”怎样获得用户的授权呢?

传统方法是,用户将自己的Google用户名和密码,告诉”云冲印”,后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。

查看更多

分享到

SpringBoot集成Spring Security(5)——权限控制

在第一篇中,我们说过,用户<–>角色<–>权限三层中,暂时不考虑权限,在这一篇,是时候把它完成了。

为了方便演示,这里的权限只是对角色赋予权限,也就是说同一个角色的用户,权限是一样的。当然了,你也可以精细化到为每一个用户设置权限,但是这不在本篇的探讨范围,有兴趣可以自己实验,原理都是一样的。

查看更多

分享到

SpringBoot集成Spring Security(4)——自定义表单登录

通过前面三篇文章,应该大致了解了Spring Security的流程。你应该发现了,真正的登录请求是由Spring Security帮我们处理的,那么我们如何实现自定义表单登录呢,比如添加一个验证码…

首先在上一篇文章的基础上,添加验证码功能。

查看更多

分享到

SpringBoot集成Spring Security(3)——异常处理

不知道你有没有注意到,当我们登陆失败时候,spring security帮我们跳转到了/login?error,奇怪的是不管是控制台还是网页上都没有打印错误信息。

查看更多

分享到

SpringBoot集成Spring Security(2)——自动登录

在上一章:SpringBoot集成Spring Security(1)——入门程序中,我们实现了入门程序,本篇为该程序加上自动登录的功能。
源码地址:https://github.com/jitwxs/blog_sample

查看更多

分享到

SpringBoot集成Spring Security(1)——入门程序

因为项目需要,第一次接触Spring Security,早就听闻Spring Security强大但上手困难,今天学习了一天,翻遍了全网资料,才仅仅出入门道,特整理这篇文章来让后来者少踩一点坑(本文附带实例程序,请放心食用

本篇文章环境:SpringBoot 2.0 + Mybatis + Spring Security 5.0

查看更多

分享到

ActiveMQ初探(3)——与SpringBoot整合

发送即时消息

Step1:添加依赖包:

这里我们不使用网上大多数的spring-boot-starter-activemq,因为我配的时候总是有问题,使用如下的三个依赖包,分别是activemq连接池包activemq包jms包

查看更多

分享到

ActiveMQ初探(2)——与Spring整合

与Spring整合,除了原本的activemq-all外,还需导入spring-context-supportspring-jms包,如果Spring为5.0+,需要javax.jms-api依赖:

查看更多

分享到

全站HTTPS

之前有同学反馈说访问网站有广告,正好最近有空,就弄了下HTTPS。因为迁移到了全站HTTPS,有些地方可能会出现BUG,欢迎留言反馈。

分享到