h5-企业微信单点登录

第一步:先去企业微信后台管理进行配置

URL地址:企业微信后台管理,需要管理员身份的人扫码登录进入才行。

企业ID

企业ID需要记住,在之后的开发中会使用到。
下面的appid就是企业ID。
在这里插入图片描述

第二步:创建应用

选择-企业管理-应用-自建
在这里插入图片描述
点击创建应用
在这里插入图片描述
按照要求填写资料,logo、名称、介绍、可见范围这几项不能为空。填写完成之后点击-创建应用。
在这里插入图片描述

获取应用的ID、应用秘钥

这一步很关键,需要注意。在新的应用里面可以看到有应用ID以及应用秘钥
在这里插入图片描述

到这里已经有三个参数了:appid、应用ID、应用秘钥。

配置网页授权-可信域名

下面就要先配置网页授权了
在这里插入图片描述
基本上这个域名就是项目接口的域名或者H5项目发布上线的域名。
如果这个域名填上去报错,那么可以点击–申请校验域名。
之后将下载的文件让后台开发人员放在这个域名的根目录下面。
在这里插入图片描述
点击确定之后就配置好了网页授权。
之后将上面的域名配置到企业微信授权登录web网页。这一步可以省略,不配置也可以。
在这里插入图片描述
两个的域名是一样的。
在这里插入图片描述

配置应用主页

点击设置-选择网页
在这里插入图片描述
填写网址,这个地方的网址就是企业微信文档里面所说的-构造网页授权链接

在这里插入图片描述
具体的拼接如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE&agentid=AGENTID#wechat_redirect

参数说明:

参数必须说明
appid企业的CorpID
redirect_uri授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type返回类型,此时固定为:code
scope应用授权作用域。snsapi_base:静默授权,可获取成员的基础信息(UserId与DeviceId);snsapi_privateinfo:手动授权,可获取成员的详细信息,包含头像、二维码等敏感信息。
state重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节
agentid应用agentid,建议填上该参数(如果为第三方应用或者代开发自建应用,未填该参数不会触发接口许可自动激活)。snsapi_privateinfo时必填否则报错;
#wechat_redirect终端使用此参数判断是否需要带上身份信息

示例:

假定当前企业CorpID:10001
访问链接:http://www.test.com

根据URL规范,将上述参数分别进行UrlEncode,得到拼接的OAuth2链接为:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=10001&redirect_uri=http%3A%2F%2Fwww.test.com&response_type=code&scope=snsapi_base&state=#wechat_redirect

将上面拼接好的url添加到-应用主页-设置-网页网址。点击确认就可以了。

总结:
1、登录企业微信后台管理,获得企业ID(appid)
2、创建应用获得应用ID(AgentId)、应用秘钥(Secret)
3、配置网页授权域名获得回调url(redirect_uri)
4、配置应用主页网址获得OAuth2链接

第三步:前端代码-获取code

这里写了两张获取code的方式。
1、使用Window.location获取。下面是封装好的获取方法。

/**
 * 
 * @param {string} name 获取url参数 
 */
export function getUrlParameter(name) {
  console.log("路径");
  // console.log(window.location);
console.log(window.location);
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  var r = window.location.search.substr(1).match(reg);
  if (r != null) {
    return unescape(r[2]);
  }
  return null;

}

在这里插入图片描述

2、直接在onload里面使用参数获取方式。

OAuth2URL链接可以在浏览器中打开,会显示一个新的回调url。这一步不用做任何操作。
https://www.test.com/?code=o81fZHalbbCQHNIxqR7oId9PDbLX7ZuovaH6UXFIgtA&state=STATE#/

区别:
两者的区别取决于上面新的url链接。
第一种获取方式:打开之后的URL连接里面域名之后没有 /#/ 参数就可以获取到code。
比如:https://www.test.com/?code=o81fZHalbbCQHNIxqR7oId9PDbLX7ZuovaH6UXFIgtA&state=STATE#/
第二种获取方式:打开之后的URL连接里面域名之后有 /#/ 参数就可以获取到code
比如: https://www.test.com/#/?code=o81fZHalbbCQHNIxqR7oId9PDbLX7ZuovaH6UXFIgtA&state=STATE#/

页面显示

写好的前端代码提交,让后台人员发布一下。发布好之后就可以看到code了。这里是直观的将code显示在页面。主要是联调的时候使用。
在这里插入图片描述

在这里插入图片描述

复制链接在浏览器里面也可以直观的看到code。可以看到在浏览器的URL里面直接带有code参数。
在这里插入图片描述

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力成为包租婆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值