首页
学习
活动
专区
工具
TVP
发布

Java项目实践,第三方登录与单点登录的工作原理,实现思路

第三方登录 我的理解就是基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能。...使用第三方登录时,我们不需要用户再次输入用户名和密码,而是直接通过一个唯一openid来进行授权登录。...首先在我们网站的登录页面根据api集成第三方登录的logo图标,并给予点击事件,当用户点击此图标时,发送请求,直接跳转到第三方平台的登录页面,第三方平台也会自动检测电脑是否有已登录的账号。...这样一个第三方登录就完成了。 单点登录 我们的单点登录系统,主要包含了登录验证、token校验、注销、注册几大功能,单点登录系统提供了统一的登录和注册页面,提供了统一的登录token校验接口。...单点登录的主要原理就是在登录成功以后,生成一个令牌,这个令牌要求每次登录唯一不可重复,我们就简单的用了一个随机的UUID,因为我们的系统在部署时,各个模块都是通过Nginx映射到同一个一级域名下的,cookie

2.1K20

第三方登录(1)---qq登录

接下来几天我将会详细介绍集中常见第三方登录--QQ,微博,微信。从创建项目开始讲解,尽量让每一个读者都能真正动手去实现第三方登录功能。...我们现在在界面最上方设置了一个QQ登陆按钮,点击按钮会打开新的页面进行第三方登录。 ?...有兴趣的人可以去进行操作,其实原理很简单,在回调函数中取得用户QQ登录基本信息,然后发起ajax连接数据库,将QQ登录基本信息保存到数据库,这时候会回调到绑定个人账号界面,用户输入已经注册的该网站账号,...QQ第三方登录测试地址:https://www.niyueling.cn.需要源码的可以联系我进行提供。...下一篇,我会介绍实现第三方微信登录

7.1K51
您找到你想要的搜索结果了吗?
是的
没有找到

第三方登录(2)---GitHub登录

上一篇介绍了如何实现第三方QQ登录,其实都不涉及后端。在前端使用js就可以实现第三方QQ登录。然后如果有数据库操作可以发起ajax请求将登录得到的用户信息发给后端,在后端对用户信息进行保存。...第三方登录(1)---qq登录 。今天,我要讲讲第二种第三方登录方式:GitHub登录。...很多人已经都听过GitHub这个IT开源平台,而且其实如果我们网站用户主要面向于IT类的,这时候使用GitHub第三方登录就会极度简化用户注册操作。接下来说说如何实现GitHub第三方登录。...其实只需要三步就可以实现GitHub第三方登录了。...可以看到我们已经成功获取到登录的GitHub账号的个人信息了。到这里实现GitHub第三方登录。其实整套逻辑其实前端只需要一个简单的登录界面,后端实现两个接口。就可以实现GitHub第三方登录

1.7K20

第三方登录

大家经常被注册登录繁琐的步骤击退,经常进几个不同的网站要输入几次用户密码,特别繁琐 所以社交账号登录出现了,也就是说用QQ微信微博等社交账号就可以登录其他网站 OAuth 2.0是用于授权的行业标准协议...我们这里选用JustAuth,一个第三方授权登录的工具类库,目前支持钉钉、百度、github、gitee、微博、coding、开源中国、支付宝、qq、微信、csdn、淘宝、google、facebook...首先来到微博开放平台 点击登录 点击立即注册(有账号跳过这一步) 填入信息点击立即注册 注册完了回来登录 我们再回到开放平台 可以看到已经登陆了 点击我的应用 点击完善信息 基本信息为已完善的时候...@RestController @RequestMapping("/oauth/weibo") public class RestAuthController { /** * 转发到第三方...)和uuid再调用我们服务端的接口进行绑定或解绑 如果当前用户没有token(也就是未登录),就是注册或登录操作,这也是当前实际开发中的方案之一

91810

第三方登录(3)---微博登录

我们在前面实现了使用QQ账号以及GitHub账号进行第三方登录。...有兴趣的可以看看前两篇文章: 第三方登录(1)---qq登录 第三方登录(2)---GitHub登录 其实过程都比较简单,逻辑基本上分成四个步骤: 前端在登录界面进行跳转第三方授权界面进行授权,用户授权成功会跳转我们的回调界面并附加...其实只需要三步就可以实现微博第三方登录了。 1.登录界面点击微博登录按钮重定向到 https://api.weibo.com/oauth2/authorize?...可以看到我们已经成功获取到登录的微博账号的个人信息了。到这里实现微博第三方登录。其实整套逻辑其实前端只需要一个简单的登录按钮,后端实现两个接口。就可以实现微博第三方登录。...目前如果需要源码的可以联系我进行提供,等第三方系列文章全部写完我会整理全部源码进行提供。 谢谢观看,希望我的文章能够对你有所帮助。

5K31

Github第三方登录

OAuth OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。...access_token给博客端 5、博客后端使用access_token,向GitHub获取用户信息 6、GitHub 确认令牌无误,返回给我基本的用户信息 7、获取返回的信息在自己的后端数据库中进行登录绑定操作...,完成github登录 如何使用GitHub提供的 OAuth 服务 打开github.com 右上角Settings Developer settings OAuth Apps New oauth...Chrome/77.0.3865.90 Safari/537.36') .end(function (err, res) { //获取github的用户信息 //根据自己的逻辑拿到用户信息后进行自动登录

79710

单点登录sso的实现原理(单点登录原理)

什么是单点登录 一个账户在多个系统上实现单一用户的登录 为什么用单点登录 单点登录可以做到在不记录用户密码的情况下,实现不同系统之间的资源共享,自动登录不安全,单点登录,一处登录,处处都可用,不用做多余的登录操作...引用一个很经典的案例 比如现在有OA系统、门户系统、人力资源管理系统、档案管理系统、生产管理系统、xx系统等,这么多个系统在一个公司里面,如果一个用户需要使用这么多个系统,那每天都要登录N多系统,太浪费时间了...(其他还有统一用户、统一权限的问题,这里先不谈这个)所以单点登录就是,如果用户在门户系统登录了,那么他打开OA系统、生产管理系统的时候就不用再登录了,因为他已经在门户系统登录过一次 单点登录原理...图片好像有点小,以下是过程 1、用户访问系统1的受保护资源,系统1发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数 2、sso认证中心发现用户未登录,将用户引导至登录页面 3、用户输入用户名密码提交登录申请

1.3K20

从零玩转第三方登录之QQ登录

从零玩转第三方登录之QQ登录 前言 在真正开始对接之前,我们先来聊一聊后台的方案设计。既然是对接第三方登录,那就免不了如何将用户信息保存。...首先需要明确一点的是,用户在第三方登录成功之后, 我们能拿到的仅仅是一个代表用户唯一身份的ID(微博是真实uid,QQ是加密的openID)以及用来识别身份的accessToken,当然还有昵称、头像、...性别等有限资料, 对接第三方登录的关键就是如何确定用户是合法登录,如果确定这次登录的和上次登录的是同一个人并且不是假冒的。...目前主流的第三方登录都是依赖的Oauth2.0实现的,最常见的就是在各种中小型网站或者App中的QQ登录,微信登录等等。所以我建议想要学习和实现第三方登录同学去了解下这个协议。...》 QQ扫码或者密码登录登录成功 跳转到 home [image] [image] [image] 到此 从零玩转 第三方登录之QQ登录 就结束了哦。

1.3K20

基于OIDC实现单点登录SSO、第三方登录

狭义的单点登录是指用户在己方应用中登录一次就能访问己方系统中的所有应用。广义的单点登录概念还涵盖了第三方登录:己方应用信任第三方应用,用户只需在第三方应用上登录一次,就可以访问己方应用。...本文中的单点登录特指其狭义概念。 第三方登录 用户利用已有的第三方应用(IDP)账密,来快速完成己方应用的注册、登录。...可以兼容OAuth 2.0、SAML、WS-Federation、Windows AD、手机短信验证码等众多类型的IDP,易于集成第三方登录(把授权服务器作为第三方登录的身份提供商来使用)。...对外提供第三方登录服务:用户中心O还可以向第三方应用G提供身份认证服务。此时,第三方应用G就是RP,用户中心O是其IDP。...3 在OIDC的SSO中集成第三方登录(GitHub) 上面的例子在统一登录时采用的是己方系统的账密。

4.8K41

第三方账户登录--github

使用github账户进行第三方登录授权 前端vue,后端node+express+mysql,使用什么框架技术不重要,大体的授权逻辑是一样的 项目源码 效果预览 ?...}); }) .catch(e => { console.log(e); }); }); module.exports = router; 最后 关于第三方授权登录...,个人认为既然用户选择了第三方授权登录,就不要在用户同意授权之后再返回网站选择注册账号,与网站账号是否绑定应该取决于用户自己,否则授权之后再注册,这跟耍流氓没啥区别。...还有第三方授权登录的用户表和直接网站注册的用户表,我认为可以放在一个表中,也可以分开放,如果放在一个表里面,就在用户授权之后信息保存数据库,用户只能通过授权才能登录,除非用户选择绑定网页账户。...怎么存还是看各自网站的需求了 使用github账户进行第三方登录授权 前端vue,后端node+express+mysql,使用什么框架技术不重要,大体的授权逻辑是一样的 项目源码

1.9K30

第三方登录:新浪微博登录(OAuth2.0)

但是不同的第三方登录因为其细节不同还是有很多坑的,今天我们就从完善开发者信息开始一步一步添加微博第三方登录的功能。...注意,需要完成微博的第三方登录功能需要有一个域名以及修改该域名网站的权限,之后审核时需要对首页进行修改。这里我们假设我们的域名是tianmaying.com。...我们可以看到,如果需要添加第三方应用只需要完善基本信息,但是需要注意的是,如果你添加了微博第三方登录功能后需要通过其审核,仍然需要通过【身份认证】。这里我们只需要完善【基本信息】即可。...验证通过后,我们就可以在本地进行第三方登录的测试了。 添加第三方通用登录框架 我们直接复制上述代码,去除掉github相关的代码: ?...callback(String.format(CALLBACK_URL, OAuthTypes.SINA_WEIBO)) .build()); } } 修改hosts 由于微博的第三方登录是与域名相绑定的

2.3K30

Flask 博客接入第三方登录

在上一篇文章中我留了一部分内容,就是如何给评论登录接入第三方登录。我不希望来访问我博客的用户有太大的登录成本,否则本想留下些话的人,就会被挡在这个门槛之外。...开发思路 首先我们要搞清楚我们需要第三方登录来做什么。很简单,获取用户的邮箱地址(用于通知)、用户头像、用户名称(用于展示)这些基本的信息。...登录时,我们到对应的平台上获取令牌,然后通过此令牌去请求用户信息,存到我们的数据库里,以备后面使用。...profile = resp.json() # save profile 注意到我在login函数中把request.headers['Referer']的值保存到了会话中,这是为了登录成功后跳转会原来的页面...现在我们就可以使用第三方登录了。

1.8K40

第三方API登录实现方案

两种解决方案 第一种 当用户点击第三方登录的时候,进行鉴权,并在用户表创建一个用户,保存其头像,openid等 不过这种方式只适用于一种三方登录,如微信登录,当涉及到多种登录时这种方式不不适用了,比如我们有三种登录方式...第二种 我们创建一个user_bind表 字段如下: id type:登录类型 openid user_id:绑定主表用户 nickname:昵称 avatarurl:头像 当用户进行第三方登录时,我们在...当用户首次第三方登录时 在use_bind表创建一个第三方登录的用户,此时使user_id=0 当用户操作时,此时user主表是没有相关记录的 ,我们强制让用户绑定手机号码 因为user_id=0用户主表...(user)没有记录,当用户绑定时,我们在user表创建一个用户并且拿到用户id并绑定到当前第三方登录(user_bind)中,当用户下次选择其他方式时我们再次提醒绑定当手机号,当手机号相同时我们还是写入相同的...第三方登录实现—->uni-app第三方登录实现

48010

Facebook第三方登录流程总结

授权Facebook第三方登录流程 ---- 有时候为了迅速获客,会在注册登录页支持第三方登录,比如国内一些小众论坛的qq登录 ? 简书的社交账号登录 ? CSDN的社交账号登录 ?...一些国际的软件/网站支持的比较多的第三方登录是Google第三方登录、Facebook第三方登录等。这里记录下Facebook第三方登录的过程。下面是一个Facebook第三方登录流程示例: ?...Facebook信息 客户端把用户登录Facebook的token发送至服务端,服务端调Facebook的token验证接口验证token是否有效 如果有效,至此Facebook第三方登录就成功了。...这里以网页版的授权为例,如果开发网页版的Facebook授权登录,需要在Facebook后台配置有效OAuth跳转URI,就是用户在Facebook登录页面登录成功之后需要回调到部署你自己的登录页面的服务器地址...下面是登录过程的截图 ?            登录成功之后可以看到控制台打印出了登录成功后Facebook返回的信息,有accessToken、userID等: ?

28.1K32
领券