QQ登录OAuth2.0总体处理流程?

QQ登录OAuth2.0总体处理流程?

QQ登录OAuth2.0总体处理流程如下:
Step1:申请接入,获取appid和apikey;
Step2:开发应用,并设置协作者帐号进行测试联调;
Step3放置QQ登录按钮
Step4:通过用户登录验证和授权,获取Access Token;
Step5:通过Access Token获取用户的OpenID
Step6调用OpenAPI,来请求访问或修改用户授权的资源。

user_token是什么?

user_token是什么?

UID 弹窗发券中用于当次发券的临时 token 令牌值,对应用户确认领券时会生成并回传给商家。

开发APP从一门开始www.yimenapp.com
APP打包:https://www.yimenapp.com/more.html
EXE打包:https://www.yimenapp.com/exe.html
商城APP:https://www.yimenapp.com/shop.html
IOS免签打包:https://www.yimenapp.com/iosmianqian.html
APP上架:https://www.yimenapp.com/iosup.html
APP软著申请:https://www.yimenapp.com/softpage.html
SSL申请:https://www.yimenapp.com/ssl.html
Discuz APP:https://www.yimenapp.com/discuz.html
教程汇总:https://www.yimenapp.com/jiaocheng.html

getLoginToken 拉起一键登录授权 APP开发实现识别本机号码验证

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

核心代码示例,详情参阅demo

//请将此 token 提交到您的服务器,调用阿里云服务器端 GetMobile 接口获取此设备的手机号码
jsBridge.pns.getLoginToken({
  //必须,字符串类型,标题栏
  titleText: "登录悠悠淘",
  //必须,字符串类型,登录按钮文字
  loginButtonText: "一键登录",
  //可选,布尔类型,是否显示LOGO徽标
  showLogo: false,
  //可选,数字类型,超时时间(秒)
  timeout: 10,
  //可选,字符串类型,口号语
  sloganText: "使用本机号码一键登录",
  //可选,布尔类型,是否隐藏隐私条款复选框,默认false(不隐藏)
  privacyHideCheckbox: false,
  //可选,字符串类型,隐私条款前置自定义文案
  privacyPrefixText: "我已阅读并同意",
  //可选,字符串类型,运营商协议前缀符号,只能是 <、(、《、【、『、[、(中的一个
  privacyVendorPrefix: "《",
  //可选,字符串类型,运营商协议后缀符号,只能是 >、)、》、】、』、]、)中的一个
  privacyVendorSuffix: "》",
  //可选,字符串类型,隐私条款名称1
  privacy1Text: "《用户协议》",
  //可选,字符串类型,隐私条款链接1
  privacy1Url : "https://terms.alicdn.com/legal-agreement/terms/TD/TD201609301342_19559.html",
  //可选,字符串类型,隐私条款名称2
  privacy2Text: "《隐私政策》",
  //可选,字符串类型,隐私条款链接2
  privacy2Url : "https://terms.alicdn.com/legal-agreement/terms/suit_bu1_taobao/suit_bu1_taobao201703241622_61002.html",
  //可选,字符串类型,隐私条款名称3
  privacy3Text: "",
  //可选,字符串类型,隐私条款链接3
  privacy3Url : "",
  //可选,字符串类型,隐私条款尾部自定义文案
  privacySuffixText: ""
}, function(succ, data) {
  if (succ) {
    //请用此 token 调用阿里云服务器端 GetMobile 接口获取手机号码
    jsBridge.setClipboardText(data.token);
    alert("授权成功 token:\n" + data.token);
  } else {
    alert("授权失败:\n" + data.errorMessage)
  }
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//请将此 token 提交到您的服务器,调用阿里云服务器端 GetMobile 接口获取此设备的手机号码
jsBridge.pns.getLoginToken({
  //必须,字符串类型,标题栏
  titleText: "登录悠悠淘",
  //必须,字符串类型,登录按钮文字
  loginButtonText: "一键登录",
  //可选,布尔类型,是否显示LOGO徽标
  showLogo: false,
  //可选,数字类型,超时时间(秒)
  timeout: 10,
  //可选,字符串类型,口号语
  sloganText: "使用本机号码一键登录",
  //可选,布尔类型,是否隐藏隐私条款复选框,默认false(不隐藏)
  privacyHideCheckbox: false,
  //可选,字符串类型,隐私条款前置自定义文案
  privacyPrefixText: "我已阅读并同意",
  //可选,字符串类型,运营商协议前缀符号,只能是 <、(、《、【、『、[、(中的一个
  privacyVendorPrefix: "《",
  //可选,字符串类型,运营商协议后缀符号,只能是 >、)、》、】、』、]、)中的一个
  privacyVendorSuffix: "》",
  //可选,字符串类型,隐私条款名称1
  privacy1Text: "《用户协议》",
  //可选,字符串类型,隐私条款链接1
  privacy1Url : "https://terms.alicdn.com/legal-agreement/terms/TD/TD201609301342_19559.html",
  //可选,字符串类型,隐私条款名称2
  privacy2Text: "《隐私政策》",
  //可选,字符串类型,隐私条款链接2
  privacy2Url : "https://terms.alicdn.com/legal-agreement/terms/suit_bu1_taobao/suit_bu1_taobao201703241622_61002.html",
  //可选,字符串类型,隐私条款名称3
  privacy3Text: "",
  //可选,字符串类型,隐私条款链接3
  privacy3Url : "",
  //可选,字符串类型,隐私条款尾部自定义文案
  privacySuffixText: ""
}, function(succ, data) {
  if (succ) {
    //请用此 token 调用阿里云服务器端 GetMobile 接口获取手机号码
    jsBridge.setClipboardText(data.token);
    alert("授权成功 token:\n" + data.token);
  } else {
    alert("授权失败:\n" + data.errorMessage)
  }
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
//请将此 token 提交到您的服务器,调用阿里云服务器端 GetMobile 接口获取此设备的手机号码
jsBridge.pns.getLoginToken({
  //必须,字符串类型,标题栏
  titleText: "登录悠悠淘",
  //必须,字符串类型,登录按钮文字
  loginButtonText: "一键登录",
  //可选,布尔类型,是否显示LOGO徽标
  showLogo: false,
  //可选,数字类型,超时时间(秒)
  timeout: 10,
  //可选,字符串类型,口号语
  sloganText: "使用本机号码一键登录",
  //可选,布尔类型,是否隐藏隐私条款复选框,默认false(不隐藏)
  privacyHideCheckbox: false,
  //可选,字符串类型,隐私条款前置自定义文案
  privacyPrefixText: "我已阅读并同意",
  //可选,字符串类型,运营商协议前缀符号,只能是 <、(、《、【、『、[、(中的一个
  privacyVendorPrefix: "《",
  //可选,字符串类型,运营商协议后缀符号,只能是 >、)、》、】、』、]、)中的一个
  privacyVendorSuffix: "》",
  //可选,字符串类型,隐私条款名称1
  privacy1Text: "《用户协议》",
  //可选,字符串类型,隐私条款链接1
  privacy1Url : "https://terms.alicdn.com/legal-agreement/terms/TD/TD201609301342_19559.html",
  //可选,字符串类型,隐私条款名称2
  privacy2Text: "《隐私政策》",
  //可选,字符串类型,隐私条款链接2
  privacy2Url : "https://terms.alicdn.com/legal-agreement/terms/suit_bu1_taobao/suit_bu1_taobao201703241622_61002.html",
  //可选,字符串类型,隐私条款名称3
  privacy3Text: "",
  //可选,字符串类型,隐私条款链接3
  privacy3Url : "",
  //可选,字符串类型,隐私条款尾部自定义文案
  privacySuffixText: ""
}, function(succ, data) {
  if (succ) {
    //请用此 token 调用阿里云服务器端 GetMobile 接口获取手机号码
    jsBridge.setClipboardText(data.token);
    alert("授权成功 token:\n" + data.token);
  } else {
    alert("授权失败:\n" + data.errorMessage)
  }
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->