靖墨如霖
靖墨如霖
  • 发布:2018-12-23 18:58
  • 更新:2020-07-02 16:32
  • 阅读:2729

请问,uni-app 登录授权有企业微信授权的解决方案吗?【已解决】

分类:uni-app

请问,uni-app 登录授权有企业微信授权的解决方案吗?
我查了文档,目前还没有,或者有其它的解决方案?

1、uni.login 文档接口说明
uni.login(OBJECT)
登录。

平台支持

小程序
5 APP
OBJECT 参数说明

参数名 类型 必填 说明 平台支持
provider String 是 登陆服务提供商,通过 uni.getProvider 获取,如果不设置则弹出登陆列表选择界面 微信小程序中,仅支持 weixin。

2、uni.getProvider 接口 文档说明
provider 在不同服务类型下可能的取值说明

service provider 说明 备注
oauth weixin 微信登录
qq QQ登录
sinaweibo 新浪微博登录
xiaomi 小米登录

2018-12-23 18:58 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

  • 靖墨如霖 (作者)

    好的,我先试试。非常感谢。

    2018-12-24 14:04

靖墨如霖

靖墨如霖 (作者) - 90后it

问题已经解决好几天了,现在才回来写操作流程文档,希望能帮助各位朋友。
采用的方法是;
一、API 部分使用条件编译,直接调用微信的 API。https://uniapp.dcloud.io/platform
二、企业微信端下:
//#ifdef MP-WEIXIN
const sinfo = uni.getSystemInfoSync();
if (sinfo.environment == 'wxwork') { //企业微信端
//企业微信端逻辑处理
} else {
//微信端逻辑处理
}
//#endif

三、企业微信登录流程接入
参考文档:
https://work.weixin.qq.com/api/doc#90000/90136/90289
大概流程如下:
// 步骤:
// 1、客户端上传code
// wx.qy.login
// 调用接口 wx.qy.login() 获取企业微信派发的临时登录凭证(code)
// 2、服务端 获取access_token
// 请求方式:GET(HTTPS)
// 请求URL:https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRECT
// 3、服务端 通过密匙返回用户信息与会话密钥
// 接口地址:https://qyapi.weixin.qq.com/cgi-bin/miniprogram/jscode2session?access_token=ACCESS_TOKEN&js_code=CODE&grant_type=authorization_code
// corpid 用户所属企业的corpid
// userid 用户在企业内的UserID,对应管理端的帐号,企业内唯一。注意:如果该企业没有关联该小程序,则此处返回加密的userid
// session_key 会话密钥
// 可根据session_key 与 userid 产生自己的sessionkey,然后加密下发到客户端,然后客户端每次请求时,带上这个sessionkey,后端解密验证
// 4、客户端 wx.qy.checkSession 校验用户当前 session_key 是否有效。
// 如果有重新登录,需要调用 jscode2session 接口后,session_key 才会有效

  • 15210843871@163.com

    您好 问下 uni.getSystemInfoSync()这个方法里面没有environment 这个是从哪获取的?自定义?

    2020-06-03 19:36

  • vishun

    回复 15210843871@163.com: 企业微信小程序上有说明开发前须知:


    如果开发者的小程序需要同时运行在微信和企业微信端,那么需要知道小程序当前的运行环境。开发者可以通过调用异步接口 wx.getSystemInfo 或者同步接口 wx.getSystemInfoSync 获取,在企业微信运行时,会额外返回一个environment字段并赋值为 “wxwork”,在微信里面运行时则不返回该字段。建议开发者在小程序的app.js里面对环境变量进行捕获并作为全局变量进行缓存。

    2020-06-25 11:04

Kadima1

Kadima1 - dasdsa

你好,请问这返回的user_id在企业微信的后台是可以修改的,还有什么其他的唯一值能用吗?

要回复问题请先登录注册