准备工作:
1.上游企业自建应用配置完成,可实现企业内部授权登录。
2.上下游对接完成、应用共享完成。
开发:
1.下游企业登入者信息获取:
① 通过OAuth2链接获取下游企业登入者code参数(由于我们是多方登入、这里使用了state进行了登入环境判断)。
② 获取上游企业access_token,将下游企业登入者code和access_token进行接口交互,得到CorpId/userid,这里可以把CorpId进行存储,方便后续判断登入者所属企业,方便日志调用。
③ 获取到CorpId/userid后将userId存储到对应表,由于每个企业对于userId设置不同,需要将userId进行关联。
④ 首次登入需要输入账号密码进行登入,将账号密码与userId存储到对应表中,后续登入判断对应表中是否含有账号密码、是否正确进行登入判断即可。
// 企业微信登录
const getLogin = () => {
// 获取url 并且将url进行json解析 提取出code参数
state.url = Object.fromEntries(new URLSearchParams(decodeURIComponent(window.location.search)));
// 判断是否是企业or微信登录
if (state.url.redirect !== undefined && state.url.redirect !== '/') {
// 验证信息过程携带页面加载动画
spinning.value = true;

本文介绍了如何实现企业自建H5应用中,通过OAuth2协议进行上下游企业间的单点登录。首先,上游企业完成内部授权登录配置,然后下游企业通过获取上游的access_token和code来交互CorpId/userid。用户首次登录时需要输入账号密码,后续登录则根据存储的账号密码信息判断。示例代码展示了如何从URL中提取code参数并调用微信登录接口。
最低0.47元/天 解锁文章
1万+





