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上的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_30402085/article/details/98593980
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/394569

相关文章

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.