QQ、微信、新浪等第三方登录,集成到基于机智云框架的APP上

2023-11-20 12:20

本文主要是介绍QQ、微信、新浪等第三方登录,集成到基于机智云框架的APP上,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[ 为什么要使用第三方登录]
移动互联网时代,几乎人人手机里面少说有十几个APP,多则四五十个APP,为了避免的APP被攻击后导致的用户数据泄露,通常会将APP分类,常用APP使用密码ABC,重要的APP使用密码XYZ,但是记忆起来很费事。
而产品(APP)接入了第三方登录后,用户跳转到第三方应用,直接在授权页面点击授权即可进入产品,免去了输入密码的环节,让用户登录变得更简单。
[ 第三方登陆的实现原理]
要实现第三方登录的功能首先要明白Oauth2.0国际通用协议,这个协议规定了,允许各大互联网公司的账号在不泄露密码的前提下在其他网站登录,并获取相关信息。依据Oauth2.0协议,我们会首先去各大第三方账号网站注册,获取唯一性id和secret安全码,然后在我们网站集成第三方账号登陆图标。
举个例子
假设你想玩现在很火的一款吃鸡游戏,但是需要使用你的微信账号登录,这时就出现一个授权访问的问题,OAuth2.0协议就是应用于这种场景之下的。
使用第三方应用(吃鸡游戏)登录时,最传统的办法是让用户直接游戏登录页面输账号和密码,但是有的用户觉得注册新账号麻烦(或者APP根本没有提供注册,仅提供关联账号),于是就使用相关的社交账号(微信)通过用户的账号和密码去微信那里获取用户数据,但这样做有很多严重的缺点:
  • 吃鸡游戏需要明文保存用户的微信账号和密码,这样很不安全。
  • 吃鸡游戏拥有了获取用户在微信所有的权限,包括删除好友、给好友发消息、更改密码、注销账号等危险操作。
  • 用户只有修改密码,才能收回赋予吃鸡游戏的权限。但是这样做会使得其他所有获得用户授权的第三方应用程序全部失效。
  • 只要有一个第三方应用程序被破解,就会导致用户密码泄漏,以及所有使用微信登录的网站的数据泄漏。
为了解决以上的问题,OAuth 协议应运而生。
微信作为服务提供商,拥有用户的头像、昵称、好友以及所有的朋友圈内容,吃鸡游戏希望获取用户存储在微信的头像和昵称,假设它们是三个人(吃鸡游戏是帮忙取快递的人,微信是快递员):
  • 吃鸡游戏和微信说,我想要拿用户X的个人快递
  • 微信就说了,你想要获得用户X的快递可以,但是我得先去问问用户X是否同意
  • 用户X 对微信说:我给吃鸡游戏我的取货码和手机号(即一个信用凭证),如果他给你出示了这些,你就把我的快递给他
  • 吃鸡游戏使用户给它的凭证顺利拿到了用户X的快递。
以上是 OAuth 认证的大概流程。在使用微信授权之前,吃鸡游戏需要先在微信开放平台上注册应用,填写自己的名称、logo、用途等信息,微信开放平台颁发给吃鸡游戏一个应用 ID 和叫 APP Secret 的密钥,在实际对接中,会使用到这两个参数。
[ 基于机智云开源框架的APP第三方登陆 ]
基于Oauth2.0国际通用协议规则,要想实现第三方登录“我们必须先在第三方账号网站注册,获取唯一性id和secret安全码”,也就是我们先要前往微信(QQ、新浪)的开放平台申请一个应用,获取应用的AppID和AppSecret,“然后在我们网站集成第三方账号登陆图标”也就是配置到APP(机智云开源框架)中即可。也就是分两步可完成。
第一步:前往第三方的开放平台创建开发者账号,获取应用的AppID和AppSecret,完成审核。
  • 微信开发者平台 open.weixin.qq.com
  • QQ开发者平台 connect.qq.com
  • 新浪开放平台 open.weibo.com
第二步:将AppID和AppSecret填写到开源框架的配置文件UIConfig.json中,部署完事,即可实现第三方登录了。
举个例子
APP要实现微信登陆,必须前往微信开放平台申请一个应用,获取应用的AppID和AppSecret并且配置到开源框架中即可。
  • 前往微信开发平台,获取APPID和APPSecret
  • 将在微信开发平台申请到的APPID和APPSecret填写到开源框架的配置文件UIConfig.json中,如下图 确填写“wechat_app_id”和”wechat_app_secret”后部署运行,即可使用微信登录了。
实现第三方QQ登录同理
  • 先到腾讯开放平台创建一个应用,获取应用的APPID
  • 然后将在腾讯开发平台申请到的APPID填写到开源框架的配置文件UIConfig.json中 确填写“tencent_app_id”后部署运行,即可使用QQ登录了。
还不去机智云自助开发平台 dev.gizwits.com 试试

 

转载于:https://www.cnblogs.com/dapangsen/p/11097691.html

这篇关于QQ、微信、新浪等第三方登录,集成到基于机智云框架的APP上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/394569

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO