300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 微信登录总结公众号登录小程序登录企业微信登录

微信登录总结公众号登录小程序登录企业微信登录

时间:2021-10-06 14:49:05

相关推荐

微信登录总结公众号登录小程序登录企业微信登录

微信公众号/服务号登录

微信内部网页授权

第一步:请求CODE

https://open./connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

第二步:通过code获取access_token

https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

第三步:通过access_token调用接口

微信小程序登录

1调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。

2调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。

移动应用微信登录

移动应用微信登录也是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。

移动应用终端本地拉起微信应用

移动应用扫码登录

其中开发者移动应用终端在本地拉起微信应用的步骤如下

第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;通过code参数加上AppID和AppSecret等,通过API换取access_token;通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

微信第三方平台授权

步骤1:第三方平台方获取预授权码(pre_auth_code)

预授权码是第三方平台方实现授权托管的必备信息,可以通过本文第3部分获取。

步骤2:引入用户进入授权页

第三方平台方可以在自己的网站中放置“微信公众号授权”或者“小程序授权”的入口,或生成授权链接放置在移动网页中,引导公众号和小程序管理员进入授权页。

方式一:授权注册页面扫码授权

授权页网址为:

https://mp./cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx。

参数 是否必填 参数说明

component_appid 是 第三方平台方appid

pre_auth_code 是 预授权码

redirect_uri 是 回调URI

auth_type 否 要授权的帐号类型, 1则商户扫码后,手机端仅展示公众号、2表示仅展示小程序,3表示公众号和小程序都展示。如果为未制定,则默认小程序和公众号都展示。第三方平台开发者可以使用本字段来控制授权的帐号类型。

biz_appid 否 指定授权唯一的小程序或公众号

方式二:点击移动端链接快速授权

第三方平台方可以生成授权链接,将链接通过移动端直接发给授权管理员,管理员确认后即授权成功。

授权链接为:

https://mp./safe/bindcomponent?action=bindcomponent&auth_type=3&no_scan=1&component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx&auth_type=xxx&biz_appid=xxxx#wechat_redirect

参数 是否必填 参数说明

component_appid 是 第三方平台方appid

pre_auth_code 是 预授权码

redirect_uri 是 回调URI

auth_type 是 要授权的帐号类型:1则商户点击链接后,手机端仅展示公众号、2表示仅展示小程序,3表示公众号和小程序都展示。如果为未指定,则默认小程序和公众号都展示。第三方平台开发者可以使用本字段来控制授权的帐号类型。

biz_appid 否 指定授权唯一的小程序或公众号

注:auth_type、biz_appid两个字段互斥。

步骤3:用户确认并同意登录授权给第三方平台方

用户进入第三方平台授权页后,需要确认并同意将自己的公众号或小程序授权给第三方平台方,完成授权流程。

步骤4:授权后回调URI,得到授权码(authorization_code)和过期时间

授权流程完成后,授权页会自动跳转进入回调URI,并在URL参数中返回授权码和过期时间(redirect_url?auth_code=xxx&expires_in=600)

步骤5:利用授权码调用公众号或小程序的相关API

企业微信登录

获取access_token是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于access_token来鉴权调用者身份。

请求方式: GET(HTTPS)

请求地址: https://qyapi./cgi-bin/gettoken?corpid=ID&corpsecret=SECRET

因此开发者,在使用业务接口前,要明确access_token的颁发来源,使用正确的access_token。

而如果企业需要在打开的网页里面携带用户的身份信息,需要构造如下的链接来获取code参数

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

然后再用下面该接口根据code获取成员信息

https://qyapi./cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE

通过OAuth2.0验证接口获取成员身份会有一定的时间开销。对于频繁获取成员身份的场景,建议采用如下方案:

1、企业应用中的URL链接直接填写企业自己的页面地址

2、成员操作跳转到步骤1的企业页面时,企业后台校验是否有标识成员身份的cookie(sessionID/token)信息,此cookie(sessionID/token)由企业生成

3、如果没有匹配的cookie,则重定向到OAuth验证链接,获取成员的身份信息后,由企业后台植入标识成员身份的cookie(sessionID/token)信息

4、根据cookie(sessionID/token)获取成员身份后,再进入相应的页面

UnionID 机制说明

如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。