1. 程式人生 > >微信授權登入-微信公眾號和PC端網站

微信授權登入-微信公眾號和PC端網站

一、微信公眾號授權登入——微信公眾平臺

微信授權登入,並呼叫後臺介面,獲取使用者資訊
1.網頁授權回撥域名
首先要在公眾平臺官網中的“開發 - 介面許可權 - 網頁服務 - 網頁帳號 - 網頁授權獲取使用者基本資訊”的配置選項中,修改授權回撥域名

網頁授權

2.關於網頁授權的兩種scope的區別說明
  • 1、以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的使用者的openid的,並且是靜默授權並自動跳轉到回撥頁的。使用者感知的就是直接進入了回撥頁(往往是業務頁面)

  • 2、以snsapi_userinfo為scope發起的網頁授權,是用來獲取使用者的基本資訊的。但這種授權需要使用者手動同意

    ,並且由於使用者同意過,所以無須關注,就可在授權後獲取該使用者的基本資訊。(H5頁面微信授權獲取使用者,註冊成為使用者id,可以做點贊關注等功能)

  • 3、使用者管理類介面中的“獲取使用者基本資訊介面”,是在使用者和公眾號產生訊息互動或關注後事件推送後,才能根據使用者OpenID來獲取使用者基本資訊。這個介面,包括其他微信介面,都是需要該使用者(即openid)關注了公眾號後,才能呼叫成功的。

3.關於UnionID機制
  • 1、請注意,網頁授權獲取使用者基本資訊也遵循UnionID機制。即如果開發者有在多個公眾號,或在公眾號、移動應用之間統一使用者帳號的需求,需要前往微信開放平臺(open.weixin.qq.com)繫結公眾號後,才可利用UnionID機制來滿足上述需求。
  • 2、UnionID機制的作用說明:如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取使用者基本資訊中的unionid來區分使用者的唯一性,因為同一使用者,對同一個微信開放平臺下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。
具體而言,網頁授權流程分為四步
  • 1、引導使用者進入授權頁面同意授權,獲取code

  • 2、通過code換取網頁授權access_token(與基礎支援中的access_token不同)

  • 3、如果需要,開發者可以重新整理網頁授權access_token,避免過期

  • 4、通過網頁授權access_token和openid獲取使用者基本資訊(支援UnionID機制)

前端:使用者同意授權,獲取code

  • 必要條件:

    • appId 公眾號的唯一標識
    • redirect_uri 授權後重定向的回撥連結地址, 請使用 urlEncode 對連結進行處理
    • response_type code
    • scope 是 應用授權作用域,snsapi_base (不彈出授權頁面,直接跳轉,只能獲取使用者openid),snsapi_userinfo (彈出授權頁面,可通過openid拿到暱稱、性別、所在地。並且, 即使在未關注的情況下,只要使用者授權,也能獲取其資訊 )
    • 必要引數: #wechat_redirect 無論直接開啟還是做頁面302重定向時候,必須帶此引數
  • appSecreat (後臺需要,通過code換取網頁授權access_token)

    具體寫法
  • 前端調起授權頁,當前微信使用者授權登陸
  • 提供code,後臺獲取openid,然後再根據openid獲取unionid
var Jumpurl = encodeURIComponent(window.location.href);
var appid = "wx3d15e2600fa71eee3";
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + 
appid + '&redirect_uri=' + Jumpurl + 
'&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect'
  • 如果使用者同意授權,頁面將跳轉至 redirect_uri/?code=CODE&state=STATE
  • 將code傳給後臺,繼續下一步驟

微信公眾官方文件:連結

二、PC端微信授權登入——微信開放平臺

接入網站應用開發,為使用者提供了微信登入功能(測試也可以通過稽核,主要是網站資訊登記表掃描件,網址改一下就行)
有兩種方式進行微信二維碼掃描登入

//第一種:直接跳轉一個連結頁面
通過在PC端直接開啟以下連結:
https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
//第二種:支援網站將微信登入二維碼內嵌到自己頁面中,使用者使用微信掃碼授權後通過JS將code返回給網站
<div id="wxqr" class="wxqr"></div>

//步驟1:在頁面中先引入如下JS檔案(支援https):
http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js

//步驟2:在需要使用微信登入的地方例項以下JS物件:
var obj = new WxLogin({
    id:"wxqr", 
    appid: "wxb9e2238ff05c7bd7", 
    scope: "snsapi_login",
    redirect_uri: "https://test.2or3m.com/newWeb/binding_phone.html",
    state: "2or3m",
    style: "white"
});

使用者允許授權後,將會重定向到redirect_uri的網址上,並且帶上code和state引數
後臺拿到code再進行介面的呼叫獲取使用者資訊

微信開放平臺官方文件:連結

相關推薦

授權登入-公眾PC網站

一、微信公眾號授權登入——微信公眾平臺 微信授權登入,並呼叫後臺介面,獲取使用者資訊 1.網頁授權回撥域名 首先要在公眾平臺官網中的“開發 - 介面許可權 - 網頁服務 - 網頁帳號 - 網頁授權獲取使用者基本資訊”的配置選項中,修改授權回撥域名

Chrome獲取授權,調試公眾頁面

sta esp safari tab 通過 測試 ron 準備就緒 stat 1.目的 你可能遇到過這種情況,在微信中打開公眾號是這樣的。 復制鏈接,在chrome中

公眾平臺開發——授權登入(OAuth2.0)

1、OAuth2.0簡介   OAuth(開放授權)是一個開放標準,允許使用者讓第三方應用訪問該使用者在某一網站上儲存的私密的資源(如照片,視訊,聯絡人列表),而無需將使用者名稱和密碼提供給第三方應用。   允許使用者提供一個令牌,而不是使用者名稱和密碼來訪問他們存放在特

公共平臺接入之:網頁授權授權access_token獲取,獲取信使用者資訊),開發者工具使用,公眾平臺測試申請接入

1、微信公眾平臺文件入口 2、微信網頁授權 關於網頁授權回撥域名的說明 1、在微信公眾號請求使用者網頁授權之前,開發者需要先到公眾平臺官網中的“開發 - 介面許可權 - 網頁服務 - 網頁帳號 - 網頁授權獲取使用者基本資訊”的配置選項中,

公眾開發80口映射解決方案

解決方案 微信開發 80端口映射 說明最近公司要搞微信公眾號開發,需要解決80端口映射的問題,看了網上好多老司機的方法,最終選擇ngrok比較符合公司的情況。微信公眾平臺開發,可參考:https://mp.weixin.qq.com/wiki 。微信公眾號接口只支持80接口。測試環境: wind

方案優化:網站實現掃描二維碼關註公眾,自動登陸網站並獲取其

用戶 class his onerror 就會 openid display 要點 rac 上一篇 《網站實現掃描二維碼關註微信公眾號,自動登陸網站並獲取其信息》 中已經實現用戶掃碼登陸網站並獲取其信息 但是上一篇方案中存在一個問題,也就是文章末尾指出的可以優化的地方(可

有關公眾H5支付的一些記錄

obj contents simplexml tps 一個 efi his xxx lib 最近項目裏面需要做公眾號和H5支付的功能,根據自己的體驗,整理了一下,做個記錄。 首先我解釋一下,為什麽有公眾號支付還要做H5支付?因為不確定每個用戶在公眾號上打開網站,所以另外做了

WiFi強制關註公眾怎樣實現?如何要求關註公眾上網?

網關 微信認證微信WiFi的默認流程,已經從最初的“關註公眾號”變成了目前的“打開公眾號”。應該說,“打開公眾號但是不強制關註“其實是一個更加人性化的做法;因為任何誘導/強制關註,都會影響最終用戶的體驗和公正性原則;長遠來看會影響公眾號的發展。微信WiFi如下圖:在《微信公眾平臺運營規範》中,也明文禁止誘導關

小程序統一服務消息下發接口 公眾小程序消息都可以在一個接口推送了

微信 調用 ESS per 無需 創業 .com 功能 orm 昨天晚上,2018年9月11日,微信官方又更新了一大波的小程序功能。重點我們來談談這個功能,微信叫做統一服務消息下發接口。 這個是官方的文檔 統一服務消息 · 小程序https://developer

asp模板消息用於公眾推送消息給用戶asp源碼

open bsp send key 找我 mes image img col <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><% session.codepage=936Response.Charset = "GB2312"

公眾瀏覽器中網頁實現下拉重新整理

原生JS實現微信公眾號或網頁使用下拉載入和上拉重新整理 微信瀏覽器開啟網頁顯示網址安全資訊,導致下拉重新整理用不了。解決辦法,網上很多辦法,也找了很久,但是最新的很多用不了。 後來自己根據網上的一些資料,造了個輪子。先看看效果,是不是親想要的,可以跳過,以免浪費寶貴時間。用微信開啟以下網址瀏

總想自己動動手系列·3·如何讓公眾外網服務交互之通過TOKEN驗證(準備篇·1)

utf-8 url new 加密 token alt oct ans 官方 一、準備工作 (1)準備一個微信公眾號(對私的訂閱號或者對公的服務號)。 (2)準備一臺部署了web應用,並且已經發布出去的Linux服務器(需要說明的是:微信公眾號強烈建議使用80端口,使用其他自

vue+vue-cookie 授權登入

      基本實現思路是: 無論使用哪個url進入網站都會先觸發router.beforeEach鉤子 在router.beforeEach鉤子中判斷使用者當前登入狀態 若沒有登入則儲存使用者進入的url並跳轉到login授權頁面

公眾伺服器連線

package com.ztsy.zbt.controller; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Arrays;

授權登入及儲存使用者資訊(fastadmin開發專案)

最近做了一個微信投票系統,這是第一次開發微信專案,所以特此記錄一下 微信投票系統,最優先想到的就是授權登入,以及獲取使用者資訊 1.首先需要申請微信公眾號(此次使用的是服務號) 2.在微信公眾平臺基本配

網頁掃碼支付(公眾)JAVA實現

今天我們來說說微信網頁掃碼支付,這個支付的步驟和微信公眾號網頁是差不多的,也和微信小程式的步驟是一致的,不過appid是微信公眾號的,我自己收集的微信開發文件希望對大家有用: https://blog.csdn.net/qq_41971087/article/d

C#支付(二)—— 公眾支付

先做最簡單的公眾號支付,也就是微信內支付。相關連結:公眾號支付 大概就這樣把,還算是比較簡單的,前端發起支付有WeixinJSBridge的getBrandWCPayRequest 和 wx.choosewxpay 兩種方法,似乎最開始是前者,然後變成後者,最後又發現前者

如何獲取某個省份地區的公眾企業認證資訊呢?

本文主要介紹“轄區內按省市微信公眾號及其企業認證資訊資料”(以下簡稱“微信公眾號及企業認證資料”)的獲取和使用教程及注意事項。 微信使用者量巨大,其中的微信公眾號數量也相當龐大,要想按省市地區來對公眾號進行輿情方面的監控,該如何操作呢,去哪能收集這一針對性的資料呢? 接下來,教你如何

開發之網站授權登入-C#

一、前言 網站微信授權登入的準備工作:官方介面文件  ,微信服務號(怎麼註冊我就不提了),準備工作做好了過後,梳理流程,切勿愣頭青,先把流程梳理好,才好帶入業務 注意:如果沒有認證的服務號,可以用測試賬號,測試賬號預設支援100個關注的微訊號。 官方文案:  網

授權登入後,把獲取的資訊儲存!

微信授權登入後,把獲取的資訊儲存到本地資料庫中 <?php namespace Home\Controller; use Think\Controller; class YiMuDiController extends Controller { /** * 構造方法