网站实现QQ第三方登录详细步骤

网站实现QQ第三方登录详细步骤一 准备工作 申请 appid appkey 回调地址 申请时填写的回调地址 重要 申请地址 https connect com manage html nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 二 放置登录按钮 其实就是给你要实现登录的地方绑定一个 onclick 点击事件 nbsp 如 给如图示图标绑定一个 onclick 点击事件 在对应函数里写一个 http 请求去服务器端处理登录 安全考虑

一、准备工作:申请appid,appkey,回调地址(申请时填写的回调地址,重要!)

申请地址:https://connect..com/manage.html#/

        

二、放置登录按钮:其实就是给你要实现登录的地方绑定一个onclick点击事件

网站实现QQ第三方登录详细步骤 

如:给如图示图标绑定一个onclick点击事件,在对应函数里写一个http请求去服务器端处理登录(安全考虑)

 

三、获取Authorization Code值:

  1. 请求网址:

url = “https://graph..com/oauth2.0/authorize?response_type=code&client_id=” + appid + “&redirect_uri=” + redirectURI + “&state=” + state

     2.  参数及其对应值:

response_type的值固定为code;

client_id的值为申请的appid;

redirect_uri的值为申请时填写的回调地址;(注意:需要将url进行编码!!!)

state值是用来防止CSRF攻击的,自己随机产生一段字符串此值

    3.  将此url地址返回到前台,利用window.open在新窗口打开此网址。若发现未打开,很有可能是被拦截了。

    4.  请求成功:请求成功后,会打开登录界面,如图示:

网站实现QQ第三方登录详细步骤

   5.  返回:当用户成功授权登录后,会跳转到上述指定的回调地址里,并携带参数code和state值。如:redirect_uri?code=&state=

         code值即为你要获取到的Authorization Code值

         state值即为上述你随机产生的字符串

 

四、获取Access Token值:

  1. 获取判断:此时已经走到了回调地址里

获取code值,state值

判断携带的state参数值和你随机产生的字符串是否相等,相等才能往下走!

    2.请求网址:

url = ” https://graph..com/oauth2.0/token? grant_type=authorization_code

&client_id=” + appid + “&client_secret=”+ appkey + “&redirect_uri=” + redirectURI + “&code=” + code

    3.参数及其对应值:

grant_type的值固定为authorization_code;

client_id的值为申请的appid;

client_secret的值为申请的appkey;

redirect_uri的值为申请时填写的回调地址;(注意:需要将url进行编码!!!)

code值为获取到的Authorization Code值

    4.这个直接在后台请求就可以了。

    5.请求成功后,返回包如下:(可以手动请求一下该网址,看看返回的是什么)

“access_token= &expires_in=*&refresh_token=”

access_token即为我们要获取到access_token值

expires_in即为access_token值的有效期

refresh_token,忽略。

 

五、获取OpenID值:

  1. 获取access_token值
  2. 请求网址:

url = “https://graph..com/oauth2.0/me?access_token=” + access_token

     3.参数及其对应值:

access_token值为获取到的Access Token值

     4.这个也是直接在后台请求就可以了。

     5.请求成功后,返回包如下:

callbackc ( {“client_id”: “”, “openid”: “”} )

client_id即为appid

openid即为我们要获取到的openid值

 

六、获取该用户的相关信息:

  1. 获取openid值:此值与用户号一一对应,不会改变。因此,可以将此值存入数据库,与网站账号进行绑定。一般来说,若用户第一次授权登录,应让他先进行自己网站的账号注册,注册成功以后就可以直接通过进行登录。
  2. 请求网址:

url = ” https://graph..com/user/get_user_info?access_token=” + access_token

+ “&oauth_consumer_key=” + appid + “&openid=” + openid

     3.参数及其对应值:

access_token值为上述获取到的access_token值

oauth_consumer_key值为申请的appid

openid值为获取到的openid值

     4.这个还是直接在后台请求就可以了。

     5.请求成功后,返回包(json数据)如下:

网站实现QQ第三方登录详细步骤

nickname为用户的昵称

figureurl__1为用户不同尺寸的头像url

gender为用户性别

……

     6.拿到这些数据后,就可以去前台展示了。至此,登录完成!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/209103.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 上午10:01
下一篇 2026年3月19日 上午10:02


相关推荐

  • springsecurity官网_log4j.properties配置

    springsecurity官网_log4j.properties配置由于项目框架古老spring3.0springsecurity2.0.4,但功能齐全,所以个人想要升级各个jar包版本,以减少不必要的已知bug目标更换为springsecurity4.2springdata换为最新问题1:spring版本不匹配,jar包冲突这个是最好解决的,先把springsecurity做最基础配置,换几个理论上兼容的spring版本试试就行,最终选定…

    2022年5月3日
    57
  • win10中修改mac地址(总有一款适合你)

    win10中修改mac地址(总有一款适合你)我的解决办法如下:先上图:下面转自:Win10秘笈:两种方式修改网卡物理地址(MAC)https://www.ithome.com/html/win10/244510.htm在修改之前,可以先确定一下要修改的网卡MAC地址,查询方法有很多种,比如:1、在设置→网络和Internet→WLAN/以太网,如下图——2、在控制

    2022年5月12日
    86
  • Linux 抓包工具 tcpdump 用法

    Linux 抓包工具 tcpdump 用法Linux抓包工具tcpdump用法tcpdump采用命令行方式对接口的数据包进行筛选抓取,其丰富特性表现在灵活的表达式上。不带任何选项的tcpdump,默认会抓取第一个网络接口,且只有将tcpdump进程终止才会停止抓包。例如:tcpdump-nn-ieth0icmp下面是详细的tcpdump用法tcpdump选项它的命令格式为:tcpdump[-DenNqvX][-ccount][-Ffile][-iinterface][-rfile]

    2022年8月20日
    8
  • python写入换行符_python write换行

    python写入换行符_python write换行在Python中,用open()函数打开一个txt文件,写入一行数据之后需要一个换行如果直接用f.write(’\n’)只会在后面打印一个字符串’\n’,而不是换行’需要用f.write(’\r\n’)注意点:1、python文件写入的时候,当写入一段话之后叠加一个换行符#特别注意的是python中的换行是\n,而不是/n是反斜杠\,而不是斜杠/例子#先写入一…

    2026年4月15日
    4
  • markdown编辑器之editormd使用

    markdown编辑器之editormd使用文章目录不啰嗦看效果 1 editor md 简介 2 项目整合 3 图片上传处理 4 前台展示 editormd 数据 5 项目源码 6 联系我不啰嗦看效果如果觉得对你项目有用请继续深入 1 editor md 简介 1 1 说明 Editor md 是一款开源的 可嵌入的 Markdown 在线编辑器 组件 基于 CodeMirror jQuery 和 Marked 构建

    2026年3月19日
    2
  • 【043】Linux 的 cat 命令各种用法

    【043】Linux 的 cat 命令各种用法除了用cat查看文件外,还可以用cat生成文件、清空文件、覆盖文件和在文件尾部添加新的内容。同时写了,在用cat命令向文件写入内容的时候,对于$符号如何处理。

    2025年8月2日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号