Rem*_*ney 12
我处于相同的情况,我一直从谷歌那里得到这个未解决的问题所以我会尝试根据我到目前为止提供的更多信息.首先让我们澄清一下,我们正在谈论中国国家范围内的微信.与其他国家相比,中国的微信具有更多功能.
基本上有3种方法可以在您的网站上使用微信登录:
现在让我们去技术.
QR码登录
在QR Code登录文档中提供英文文档 我不会在这里解释,因为它不是真正的问题.
微信仅从移动网站使用OAuth 2.0登录
[编辑]我们似乎无法直接在网站上使用微信中的OAuth.只有在微信移动应用程序中加载站点时才能执行此操作.请参考以下部分:"通过微信移动应用程序登录微信"
来自qq.com的文档使用谷歌Transalate应该为您提供基础知识.主要有三个步骤: - 步骤1:用户同意,访问代码 - 步骤2:代码页以换取授权access_token - 步骤3:提取用户信息
这也假设您已经正确设置了API访问权限,因为您需要appid,scope和state
微信通过移动应用程序通过微信移动应用程序从微信登录到手机网站
为了实现这种类型的登录,您必须记住网站需要在微信移动应用程序中加载.
我能找到的最简单方法是通过基于网站网址生成QR码,然后使用微信应用程序扫描QR码(可以选择使用移动应用程序进行扫描).要生成QR码,您可以使用http://www.qr-code-generator.com上的在线工具
从Wechat应用程序浏览您的移动网站后,过程将是当用户访问您网站的登录页面时,您将用户重定向到wechat oauth网址.
有关这方面的文档,请访问https://mp.weixin.qq.com/wiki?id=mp1421140842&highline=scope .网址如下:https://open.weixin.qq.com/connect/oauth2/授权?APPID = APPID&REDIRECT_URI = REDIRECT_URI&RESPONSE_TYPE =代码&范围= SCOPE&状态=状态#wechat_redirect
SCOPE可以是"nsapi_base"或"nsapi_userinfo"."nsapi_userinfo"将允许您获得有关用户的更多信息,但真正的微信不会分享太多.他们不会分享电子邮件或手机号码.
STATE只是您生成的随机字符串,允许您在重定向页面时在自动化后匹配它.
APPID是您的微信帐户的应用程序API.如果您还没有APPID,则有2个选项可用.创建企业帐户(生产帐户)或创建沙箱帐户.您可以在https://mp.weixin.qq.com注册; 或者对于测试沙盒帐户:http://mp.weixin.qq.com/debug/cgi-bin/sandbox? t = andSandbox / login (仅提供中文版)
因此,当用户重定向到https://open.weixin.qq.com/connect/oauth2/authorize时,他们将不得不同意与您的移动网站共享他们的信息.一旦他们同意,用户将被重定向到您选择的网址.(参见redirect_uri = REDIRECT_URI参数)
然后您可以拨打 https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 来获取用户信息.
ACCESS_TOKEN是使用APPID和SECRET生成的令牌,并调用api:https://api.weixin.qq.com/cgi-bin/token?render_type = client_credential&appid = [ APPID ]& secret = [SECRET ]再次,APPID如上所述,您在注册微信账户后可以使用SECRET.
因为我们喜欢英语,所以看起来有一个英文维基可以在http://admin.wechat.com/wiki/index.php上找到 它并不像中文版那么好和完整,但它是一个开始更好地理解事物.
获得用户信息后,您只需将移动站点上的逻辑实现为:
希望这将有助于一些失去的微信开发人员试图实现相同的.我也很乐意得到别人的帮助来完成这个答案.
谢谢.
小智 -3
当你切换到微信二维码时,微信会生成一个认证二维码并链接到长拉服务器,当你的手机二维码扫描后,点击链接,就会触发长拉服务器认证流程,让你的浏览器认证并重定向。
我在github上重现了微信流程,欢迎贡献。
https://github.com/clonn/QRLoing_reproduct
| 归档时间: |
|
| 查看次数: |
11925 次 |
| 最近记录: |