Java web 实现第三方微博账号登陆的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java web 实现第三方微博账号登陆的功能相关的知识,希望对你有一定的参考价值。

以下步骤是实现第三方微博账号登陆的功能流程,但Code是通过跳转的URL传参得到,如果有Java得到Code?
1. 引导需要授权的用户到如下地址:
2. 如果用户同意授权,页面跳转至YOUR_REGISTERED_REDIRECT_URI/?code=CODE
3. 换取Access Token
4. 使用获得的OAuth2.0Access Token调用API

一般这种第三方授权的都会有公钥和私钥,用来对用户身份加密,你这里的code一般就是公钥,公开也没什么关系,私钥一般是第三方接口和你的应用签完授权协议以后给你的,需要双方妥善保管,通过这2者对调用方进行授权检查 参考技术A 你去找一下看官方,有不有接口API 参考技术B 你这个应该要放到百度经验里吧? 参考技术C 去java专业网站去提问吧

基于SpringBoot的通用化的第三方登陆实现

基于SpringBoot的通用化的第三方登陆实现

标签(空格分隔): 未分类


通俗的例子解释OAuth和OpenID的区别

现在很多网站都可以用第三方的账号登陆,比如,现在我要登录淘宝买东西,而如果我没有淘宝的账号,我也可以用微博的账号登录,这个微博账号就是第三方账号了。

OpenID强调 验证 authentication,而OAuth强调 授权 authorization。 验证就是说“我”是不是(微博用户),而授权是说“淘宝”可不可以,而可不可以的前提则是“我”是不是。

过程大概是这样:
我点开微博登录的链接,淘宝就跳到微博登录页面,问我你是不是那个微博用户,是的话你用你的账号密码去登录,你先去给微博验明正身,成功的话再来找我
好啦,我屁颠屁颠输入账号跟密码,如果可以登录说明我这个身份是对的,通过了微博的验证后微博就告诉淘宝说,没错没错,我家里确实有么这个家伙

上面这些都是OpenID的责任,而且OpenID也只做这件事,就是前面说的是不是

然后呢,淘宝就说好好,有你微博验证我放心,于是就让我通过了
等等,这时淘宝只知道微博他们家有我存在,但是并不知道我在微博家里叫什么名,做过什么事,其实淘宝也不应该知道,对吧,要是知道我在微博家老是到处举报别人卖假货坑顾客什么的,那我让你进我大淘宝岂不是会坏了我的大事,你丫是来捣乱的吧(至于淘宝为什么会这么想,哼哼~你们懂的)
所以,淘宝通常就会做一件事,什么事呢?这时就轮到OAuth出场了,淘宝在把我交给微博验明正身的时候其实还“忽悠”了我,明明只是验个身份,却问我要不要把我在微博家叫什么名做过什么事也告诉它(就是通常看到的几个打勾选项:允许访问我的昵称/允许访问我的头像等等),淘宝说这样就可以为我提供更多的服务,什么服务呢?模凌两可,我呢看到有更多服务也没多想就打勾了,不要白不要是吧。

这里就用到了OAuth,就是前面说的可不可以,这个要是真发现我在微博家干过的事,会不会把我加入重点监控对象,那就要看淘宝有多少节操了

其实现在很多的第三方登录都是这样,验证身份的同时顺便把你在其他地方的资料拿到手,名曰资料共享,其实共享一些非敏感信息倒也无妨,还可以免去了每去一个新网站都要填写一大堆重复资料的问题。但是我要吐槽的是,很多网站明明让我用第三方账号登录,你都OAuth了为毛登录后还要再填一遍邮箱昵称之类的东西?早知道这样我还不如直接在你这边注册就好了,在我看来这是用户体验的问题了。

OAuth2.0认证和授权机制讲解

浅谈OAuth 和 OpenID 相关技术

基于Spring的Github第三方登录--通用化的第三方登陆实现

首先登陆Github账号,进入【Settings】->选择【Developer settings】->选择【Register a new application】,这里我们可以看到当前账户所拥有的第三方应用。

注意右上角的Client Id和Client Secret,这两个信息是用来标识第三方应用身份的相关信息,特别注意Client Secret,Client Secret是用来和授权服务器交换验证凭证(Access Token)的,千万不能暴露出去。

这样,我们就拥有了第三方应用的身份,可以喝Github交互进行OAuth2的授权了。

以上是关于Java web 实现第三方微博账号登陆的功能的主要内容,如果未能解决你的问题,请参考以下文章

基于SpringBoot的通用化的第三方登陆实现

如何设计 QQ微信微博Github 等等,第三方账号登陆 ?(附表设计)

为啥知乎总是显示请用第三方账号登陆

什么是第三方账号登陆?有什么好处?

如何设计 QQ微信微博Github 等第三方账号登陆 ?(附表设计)

Oauth2.0 QQ&微信&微博实现第三方登陆