Keizinan halaman web WeChat


keizinan halaman web WeChat

1475981980514516.png

Jika pengguna mengakses halaman web pihak ketiga dalam klien WeChat, akaun rasmi boleh mendapatkan maklumat asas pengguna melalui mekanisme kebenaran halaman web WeChat, dan kemudian melaksanakan logik perniagaan.

Arahan pada nama domain panggil balik kebenaran halaman web

1 Sebelum akaun rasmi WeChat meminta kebenaran halaman web pengguna, pembangun perlu pergi ke "Kebenaran Antara Muka Pembangunan-Perkhidmatan Halaman Web-Akaun Halaman Web-Laman Web Dapatkan Keizinan". di tapak web rasmi platform awam Dalam pilihan konfigurasi "Maklumat Pengguna Asas", ubah suai nama domain panggil balik kebenaran. Sila ambil perhatian bahawa nama domain (yang merupakan rentetan) diisi di sini, bukan URL, jadi sila jangan tambahkan pengepala protokol seperti http://

2 Spesifikasi konfigurasi nama domain panggilan balik adalah domain penuh nama, seperti nama domain yang memerlukan kebenaran halaman web Ia adalah: www.qq.com Selepas konfigurasi, halaman http://www.qq.com/music.html dan http://www.qq.com /login.html di bawah nama domain ini boleh melakukan pengesahan OAuth2.0 . Tetapi http://pay.qq.com, http://music.qq.com, http://qq.com tidak boleh melakukan pengesahan OAuth2.0

3 Jika log masuk akaun rasmi dibenarkan kepada pihak ketiga pembangun Untuk mengurus, anda tidak perlu membuat sebarang tetapan, cuma biarkan pihak ketiga menggantikan akaun rasmi untuk melaksanakan kebenaran halaman web

Penjelasan tentang perbezaan antara dua skop kebenaran halaman web

1 Keizinan halaman web yang dimulakan dengan snsapi_base sebagai skop digunakan untuk mendapatkan openid pengguna yang memasuki halaman, dan diberi kuasa secara senyap dan melompat secara automatik ke halaman panggil balik. Apa yang dilihat oleh pengguna ialah mereka memasuki halaman panggil balik (selalunya halaman perniagaan)

2 Keizinan halaman web yang dimulakan dengan snsapi_userinfo sebagai skop digunakan untuk mendapatkan maklumat asas pengguna. Walau bagaimanapun, kebenaran jenis ini memerlukan pengguna untuk bersetuju secara manual, dan oleh kerana pengguna telah bersetuju, tidak perlu memberi perhatian, dan maklumat asas pengguna boleh diperolehi selepas kebenaran.

3 "Antara Muka untuk Mendapatkan Maklumat Asas Pengguna" dalam antara muka pengurusan pengguna boleh mendapatkan maklumat asas pengguna berdasarkan OpenID pengguna hanya selepas pengguna berinteraksi dengan akaun rasmi atau menolak acara selepas mengikuti mesej. Antara muka ini, termasuk antara muka WeChat yang lain, memerlukan pengguna (iaitu openid) untuk mengikuti akaun rasmi sebelum ia boleh dipanggil dengan jayanya.

BEBERAPA PERBEZAAN DELOMENTIKASI PENYELESAIAN DAN PENGGUNAAN PENGGUNAAN DAN PENYELESAIAN WECHAT. keizinan. Bukti kelayakan (token kebenaran halaman web), melalui akses_token kebenaran halaman web, anda boleh membuat panggilan antara muka selepas kebenaran, seperti mendapatkan maklumat pengguna asas

2. Untuk antara muka WeChat yang lain, anda perlu mendapatkan panggilan access_token biasa melalui antara muka "Dapatkan akses_token" dalam sokongan asas.

Mengenai mekanisme UnionID

1 Sila ambil perhatian bahawa kebenaran halaman web untuk mendapatkan maklumat pengguna asas juga mengikut mekanisme UnionID. Iaitu, jika pembangun perlu menyatukan akaun pengguna antara berbilang akaun rasmi, atau antara akaun rasmi dan aplikasi mudah alih, mereka perlu pergi ke Platform Terbuka WeChat (open.weixin.qq.com) untuk mengikat akaun rasmi sebelum mereka boleh gunakan mekanisme UnionID untuk memenuhi keperluan di atas.

2 Penerangan tentang peranan mekanisme UnionID: Jika pembangun mempunyai berbilang aplikasi mudah alih, aplikasi laman web dan akaun awam, keunikan pengguna boleh dibezakan dengan mendapatkan unionid dalam maklumat asas pengguna, kerana pengguna yang sama adalah. terbuka kepada aplikasi WeChat yang sama di bawah platform (aplikasi mudah alih, aplikasi tapak web dan akaun awam) mempunyai unionid yang sama.

ABLOUT PENYIMPANAN SENDIRI DALAM SENCONGSIKAL KHAS. akaun , jika pengguna memasuki halaman kebenaran web akaun rasmi daripada sesi akaun rasmi atau menu tersuai, walaupun skopnya snsapi_userinfo, kebenaran itu senyap dan pengguna tidak sedar.

Secara khusus, proses kebenaran halaman web dibahagikan kepada empat langkah:

1 Bimbing pengguna untuk memasuki halaman kebenaran untuk bersetuju dengan kebenaran dan mendapatkan kod

2 dalam sokongan asas)

3. Jika perlu, pembangun boleh menyegarkan akses_token kebenaran halaman web untuk mengelakkan tamat tempoh

4 Dapatkan maklumat asas pengguna melalui akses_token dan openid halaman web (menyokong mekanisme UnionID)


: Pengguna bersetuju dengan kebenaran dan mendapatkan kod

Di bawah premis untuk memastikan bahawa akaun awam WeChat mempunyai kebenaran skop kebenaran (parameter skop) (selepas akaun perkhidmatan memperoleh antara muka lanjutan, ia akan mempunyai snsapi_base dan snsapi_userinfo dalam parameter skop secara lalai), bimbing pengikut untuk membuka halaman berikut: 🎜

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect Jika ia menggesa "Pautan tidak boleh diakses", sila semak sama ada parameternya diisi dengan betul. Mempunyai kebenaran skop kebenaran yang sepadan dengan parameter skop.

Khusus Nota: Oleh kerana tahap keselamatan yang tinggi, apabila memulakan permintaan kebenaran, WeChat akan melakukan pemeriksaan pemadanan yang kukuh pada pautan kebenaran. halaman kebenaran tidak akan dapat diakses seperti biasa

Pautan rujukan (sila buka pautan ini dalam klien WeChat untuk mengalami) skop adalah snsapi_base https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417=https&8103uri %3A%2F%2Fchong.qq .com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap

ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_56_011respons_5600_56_2030_56_2030_56_010_0_0_0_0_0_0_0_000000000

e&state=123# wechat_redirect Skop ialah snsapi_userinfo https://open .weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Fauth_response.php&response_type&speech=

ubah hala


Perhatian khusus: jump callback redirect_uri harus menggunakan pautan https untuk memastikan keselamatan kod kebenaran.

Penerangan parameter

. diarahkan selepas alamat kebenaran, sila gunakan pasangan kod urlen Pautan diproses jenis pemulangan, sila isikan kod keizinan pemulangan (skop keizinan aplikasi) melompat terus, hanya openid pengguna boleh diperolehi ), snsapi_userinfo (halaman kebenaran muncul, dan nama panggilan, jantina dan lokasi boleh diperolehi melalui openid.Selain itu, Walaupun pengguna tidak memberi perhatian, selagi pengguna membenarkannya, maklumat boleh diperolehi a-zA-Z0 Nilai parameter -9, sehingga 128 bait#wechat_redirect ialahSama ada anda membukanya terus atau melakukan ubah hala halaman 302, anda mesti membawa parameter ini

Gambar di bawah menunjukkan halaman kebenaran apabila skopnya sama dengan snsapi_userinfo:

Selepas pengguna bersetuju dengan kebenaran

Jika pengguna bersetuju dengan kebenaran, halaman/?kod akan melompat ke redirect_uri =CODE&state=NEGERI.

kod penerangan: kod digunakan sebagai tiket sebagai pertukaran untuk access_token Kod yang dibawa dengan setiap kebenaran pengguna akan berbeza Kod hanya boleh digunakan sekali dan akan tamat tempoh secara automatik jika tidak digunakan selama 5 minit.

Langkah 2: Tukar akses_token kebenaran halaman web melalui kod

Pertama sekali, sila ambil perhatian bahawa apa yang ditukar melalui kod di sini ialah akses_token kebenaran laman web khas, yang berbeza daripada token_akses dalam sokongan asas (token_akses ini digunakan untuk memanggil antara muka lain) . Akaun rasmi boleh mendapatkan akses_token kebenaran halaman web melalui antara muka berikut. Jika skop kebenaran halaman web adalah snsapi_base, dalam langkah ini, semasa mendapatkan akses_token kebenaran halaman web, openid juga diperoleh, dan proses kebenaran halaman web gaya snsapi_base berakhir di sini.

Perhatian khusus: Memandangkan rahsia akaun rasmi dan access_token yang diperolehi mempunyai tahap keselamatan yang sangat tinggi, ia hanya perlu disimpan pada pelayan dan tidak dibenarkan untuk diserahkan kepada pelanggan. Langkah seterusnya seperti menyegarkan access_token dan mendapatkan maklumat pengguna melalui access_token juga mesti dimulakan dari pelayan.

Kaedah permintaan

Selepas mendapatkan kod, minta pautan berikut untuk mendapatkan access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_code

Perihalan parameter

response_type ialah
skop ialah

Return Arahan

Paket data JSON dikembalikan apabila betul adalah seperti berikut:

{"Access_Token": "Access_Token",

"Expires_in": 7200,

"Refresh_Token": "Refresh_Token",

" ": "OPENID",

"skop":"SKOP" }

. antara muka baucar panggilan tamat masa, unit ( saat) )
Adakah parameter diperlukan Penjelasan
appid ialah pengecam unik akaun
Ya Aplikasi rahsia rasmi akaun
kod YaIsikan parameter kod yang diperolehi dalam langkah pertama
grant_typeYesisi dalam authorization_code
refresh_tokenUser refresh access_token
openidPengenalpastian unik pengguna Sila ambil perhatian bahawa apabila pengguna tidak mengikuti akaun rasmi, apabila pengguna membuka halaman web yang unik. pengguna dan akaun rasmi juga akan dijana
skopSkop yang dibenarkan oleh pengguna, dipisahkan dengan koma (,)

Apabila terdapat ralat, WeChat akan mengembalikan paket data JSON seperti berikut (contohnya ialah ralat tidak sah Kod):

{"errcode":40029,"errmsg":"invalid code"}

Langkah 3: Muat semula access_token ( Jika perlu)

Memandangkan access_token mempunyai tempoh sah yang singkat, apabila access_token tamat, anda boleh menggunakan refresh_token untuk memuat semula refresh_token sah selama 30 hari apabila refresh_token tamat tempoh memberi kebenaran semula. . =refresh_token&refresh_token=REFRESH_TOKEN

isi refresh_token Isikan parameter refresh_token yang diperolehi melalui access_token
Adakah parameter diperlukan Penerangan
appid ialah pengecam unik akaun rasmi
refresh_token ialah
🎜🎜

Arahan pengembalian

Paket data JSON yang dikembalikan apabila betul adalah seperti berikut:

{ "access_token":"ACCESS_TOKEN",

"expires_in":7200,

" "REfresh_EN",

""refresh_EN",

""refresh_EN"

id": "OPENID",


"skop":"SKOP" }

🎜. antara muka baucar panggilan tamat masa, unit ( saat) ))

Apabila terdapat ralat, WeChat akan mengembalikan paket data JSON seperti berikut (contohnya ialah ralat kod tidak sah):

{"errcode":40029,"errmsg":"invalid code"}

Langkah 4: Tarik Maklumat pengguna (skop perlu snsapi_userinfo)

Jika skop kebenaran laman web ialah snsapi_userinfo, pembangun kini boleh menarik maklumat pengguna melalui access_token dan openid.

Kaedah permintaan

http: DAPATKAN (sila gunakan protokol https) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

Penerangan parameter

refresh_tokenUser refresh access_token
openidPengecam unik pengguna
skopdiizinkan (penggunaan skop
asas yang disokong Pengecam unik pengguna langKembali ke versi bahasa negara dan wilayah, zh_CN dipermudahkan, zh_TW tradisional, en Inggeris

Arahan pengembalian

Paket data JSON yang dikembalikan apabila betul adalah seperti berikut:

{ "openid":" OPENID",

"nickname": NICKNAME,

"sex":"1",

": "WILAYAH"

"bandar":"BANDAR",

"negara":"NEGARA",

"headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqLSAc0Cfq Q1dZuTOgvLLrhJbERQQ

4eMsv84eavHiaiceqxibJxCfHe/ 46",

"keistimewaan":[ "KEISTIMEWAAN1" "KEISTIMEWAAN2" ],

"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"

}

Parameter Penerangan
access_tokenSijil panggilan antara muka kebenaran halaman web, nota: access_token ini berbeza daripada access_token
Jantina, apabila nilainya ialah 1, ia adalah lelaki Apabila nilainya ialah 2 Adakah perempuan, apabila nilainya 0, ia tidak diketahuiWilayah mengisi profil penggunaBandar diisi dengan profil pengguna biasaNegara, seperti China ialah CNheadimgurlAvatar pengguna, nilai terakhir mewakili saiz avatar segi empat sama (terdapat 0, 46, 64, 96, 132 nilai ​​​​tersedia, 640 mewakili *640 avatar persegi), item ini kosong apabila pengguna tidak mempunyai avatar. Jika pengguna menukar avatar mereka, URL avatar asal akan menjadi tidak sah..
ParameterPenerangan
openidPengecam unik pengguna
Nama panggilanNama panggilan pengguna
daerah
city

Apabila terdapat ralat, WeChat akan mengembalikan paket data JSON seperti berikut (contohnya adalah openid tidak sah):

{"errcode":40003,"errmsg":" invalid openid "}

Attach


: Pengesahan bukti kelayakan kebenaran (access_token) Adakah ia sah

🎜Kaedah permintaan🎜🎜🎜http: GET (sila gunakan protokol https) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID 🎜 🎜🎜

Penerangan Parameter

asas yang disokong Pengenalan unik pengguna . ,"errmsg ":"invalid openid"}
Parameter Penerangan
access_tokenSijil panggilan antara muka kebenaran halaman web, nota: access_token ini berbeza daripada access_token