Perihalan antara muka protokol pengesahan perkakasan Wi-Fi


Perihalan antara muka protokol pengesahan perkakasan Wi-Fi


Ikhtisar

Protokol pengesahan perkakasan digunakan terutamanya untuk mengubah kaedah pengesahan peranti jenis Portal, supaya peranti itu dapat mengenal pasti telefon pelanggan, membuat identiti pelanggan. dan PC pantas dan mudah Sambung ke Wi-Fi. Logik perniagaan klik butang "WeChat Connect" pada halaman Wi-Fi" untuk memasuki halaman sambungan, memaparkan logo dan nama akaun rasmi. Klik butang "Sambung Sekarang" untuk mula menyambung ke WiFi. Selepas sambungan berjaya, ia akan melompat ke halaman sambungan yang berjaya dan ikuti akaun rasmi pedagang.


Module Timing Diagram

Jika anda tidak dapat melihat teks dalam gambar dengan jelas, anda boleh terlebih dahulu menyimpan gambar secara setempat melalui "Simpan Gambar Sebagai" dan kemudian membesarkannya untuk melihatnya.


PC disambungkan ke Wi-Fi

Proses sambungan pengguna

Selepas pelanggan memilih SSID pada PC, buka halaman 2D dan portal paparan dipaparkan pada kod halaman. Gunakan WeChat pada telefon mudah alih anda untuk mengimbas kod QR, klik butang "Sahkan" pada halaman telefon mudah alih, sambungkan PC anda ke Wi-Fi dan halaman portal penyemak imbas secara automatik akan melompat ke halaman web yang dikonfigurasikan oleh pedagang.


Gambarajah pemasaan modul

Jika anda tidak dapat melihat teks dalam gambar dengan jelas, anda boleh menyimpan gambar secara setempat dahulu melalui "Simpan Imej Sebagai" dan kemudian membesarkannya untuk melihatnya.


Proses pelaksanaan terminal mudah alih

Sila ikut langkah di bawah untuk melengkapkan transformasi peranti dan membenarkan peranti mudah alih menggunakan WeChat untuk menyambung ke Wi-Fi.

Langkah pertama: Dapatkan maklumat Wi-Fi kedai

Langkah pertama untuk mengubah peralatan jenis portal ialah mendapatkan maklumat Wi-Fi kedai, termasuk: appId, shop_id, ssid, secretkey. Terdapat dua cara untuk mendapatkan maklumat Wi-Fi kedai:

1 diperolehi melalui operasi halaman

🎜.

Dalam WeChat platform awamWeChat Wi-Fi plug-in, buka [Pengurusan Peranti]->[Tambah Peranti], tambahkan "Tambah kaedah WeChat untuk menyambung ke Internet + perkhidmatan medan dekat selepas menyambung ke Internet"- >"Peranti jenis portal"; selepas berjaya menambah, anda boleh mendapatkan maklumat parameter Wi-Fi kedai.

Peranti yang ditambahkan juga boleh mendapatkan maklumat parameter Wi-Fi kedai dalam [Butiran Peranti]->[Lihat Maklumat Pengubahsuaian Peranti].

2. Panggil antara muka untuk mendapatkan

Panggil "Tambah peranti portal" antara muka untuk mendapatkan.

Langkah 2: Ubah halaman portal mudah alih

Jika peranti yang disambungkan ialah peranti mudah alih, sebutkan WeChat JSAPI berikut dalam halaman portal untuk membolehkan halaman portal Wi-Fi asal memanggil WeChat Abilities :

<script type="text/javascript"    
src="https://wifi.weixin.qq.com/resources/js/wechatticket/wechatutil.js" ></script>

Panggil JSAPI untuk mencetuskan pelanggan WeChat:

Wechat_GotoRedirect(
appId,      
extend,     
timestamp, 
sign,       
shop_id,   
authUrl,   
mac,      
ssid );

Contoh khusus:

Wechat_GotoRedirect(
'wx23fb4aaf04b8491e',  
'demoNew',            
'1441768153341',          
'a355c78bad9be9235d2105d28f8e010c',   
'6747662',  
'http://wifi.weixin.qq.com/assistant/wifigw/auth.xhtml?httpCode=200',       
'aa:aa:aa:aa:aa:aa',     
'2099');

Penerangan parameter

ID kedai di mana peranti AP terletak , iaitu shop_id URL pelayan pengesahan Pelanggan WeChat akan menyerahkan maklumat identiti WeChat pengguna ke URL ini dan mendapatkan pengesahan dan pelepasan. Peranti Android diperlukanAlamat mac telefon mudah alih pengguna, format dipisahkan dengan titik bertindih, panjang aksara ialah 17, dan huruf kecil, contohnya: 00:1f:7a:ad:5c:a8ssid ialah nama rangkaian wayarles bagi peranti AP

Kaedah pengiraan tandatangan:

sign = MD5(appId + extend + timestamp + shopId + authUrl + mac + ssid + secretkey);

Nota: Cap masa di sini ialah cap masa semasa dalam milisaat.

Langkah 3: Sokong pelepasan sementara permintaan akses Internet

Sila pastikan AP/AC boleh melepaskan sementara permintaan akses Internet pengguna selepas halaman portal dibuka. Hanya apabila keluaran sementara berjaya, JSAPI yang disebutkan di atas boleh dipanggil untuk memanggil WeChat sebagai pertukaran untuk maklumat identiti pengguna untuk memastikan permintaan pengesahan seterusnya berjaya diselesaikan dan rangkaian berjaya disambungkan.

Nota: Apabila memanggil WeChat pada IOS, jika rangkaian tidak tersedia, Wi-Fi akan terputus, menyebabkan sambungan rangkaian gagal Oleh itu, sila pastikan bahawa AC/AP menyokong pelepasan sementara permintaan akses Internet.

Pelayar web sesetengah peranti Android tidak boleh melancarkan klien WeChat secara automatik. Sila rujuk penyelesaian dalam Soalan Lazim.

Langkah 4: Terima pengesahan identiti WeChat dan keluarkan

Selepas pelanggan WeChat dipanggil, ia secara automatik akan memulakan permintaan untuk authUrl (parameter masuk JSAPI) dan menyerahkan maklumat pengguna WeChat parameter yang diperlukan untuk pengesahan , termasuk extend, openId, tid.

Contoh pelanggan WeChat menghantar permintaan ke authUrl:

http://www.foo.com/portal/auth.html?extend=xxx&openId=xxx&tid=xxx

Penerangan parameter

Adakah parameter diperlukan Penerangan
appId ialah akaun platform awam WeChat
lanjutkan boleh disertakan Letakkan koleksi parameter yang berkaitan yang diperlukan oleh pembangun🎜 , yang akhirnya akan dihantar secara telus ke URL pengesahan pengendali. Parameter lanjutan hanya menyokong bahasa Inggeris dan nombor, dan panjangnya tidak boleh melebihi 300 aksara.
cap masa ialah cap masa menggunakan milisaat
tanda ialah tandatangan parameter permintaan, kaedah pengiraan khusus diterangkan di bawah ialah
authUrl ialah
Parameter Penerangan
lanjutkan ialah parameter lanjutan yang diluluskan apabila memanggil WeChat JSAPI di atas, yang dikembalikan ke halaman utama pedagang seperti sedia ada Id
tid ialah nombor telefon mudah alih pengguna yang disulitkan (hanya digunakan untuk pemfailan oleh jabatan penyeliaan rangkaian)

Pelayan pengesahan latar belakang yang sepadan dengan authUrl mesti dapat mengenal pasti maklumat parameter ini dan mengembalikan hasil pengesahan AC kepada klien WeChat Pelanggan WeChat akan meminta pengguna sama ada sambungan berjaya atau tidak berdasarkan kod pengembalian http.

Jika kod pengembalian http ialah 200, ia dianggap sebagai pengesahan perkhidmatan berjaya. Pelanggan WeChat melompat ke halaman sambungan yang berjaya pelayan pengesahan perlu memindahkan permintaan pengesahan, sila kembalikan 302 dan alamat hop seterusnya, klien WeChat akan memulakan permintaan lain ke alamat hop seterusnya, dan lompatan 302 hanya disokong sekali untuk bukan 200 dan 302, atau 302 kembali kod yang melebihi bilangan kali, ia dianggap sebagai kegagalan pengesahan, dan sambungan ini Rangkaian gagal dan klien WeChat melompat ke halaman kegagalan sambungan.

Nota: Masa menunggu untuk permintaan pelanggan WeChat ialah 10s Sila pastikan pelayan pengesahan latar belakang mengembalikan hasil pengesahan AC, iaitu kod pengembalian http, dalam masa 10s selepas pelanggan WeChat menghantar permintaan kepada authUrl. Kegagalan untuk mengembalikan hasil pengesahan selama lebih daripada 10 saat akan dianggap sebagai kegagalan pengesahan.

Langkah 5: Imbas kod QR untuk menyambung ke Internet

Selepas melengkapkan langkah satu hingga empat, lakukan konfigurasi berikut untuk membolehkan peranti portal mengimbas kod QR untuk menyambung ke Wi-Fi. Operasi khusus adalah seperti berikut:

1. Ubah suai kandungan lompat pelayan portal

Apabila pengguna telefon mudah alih yang tidak disahkan cuba menyambung ke Internet, AC akan mengubah hala permintaan http pengguna ke halaman Portal pada Pelayan Portal Di sini AC perlu mengenal pasti lebih lanjut Jika permintaan http datang daripada klien WeChat, ia akan mengubah hala Hanya bawa dua parameter authUrl yang dipersetujui dan lanjutkan pada URL.

http://www.foo.com/portal/portal.html?authUrl=http%3A%2F%2Fwww.foo.com%2Fportal%2Fauth.html&extend=xxx
Parameter Penerangan
authUrl ialah URL auth yang diisi dalam halaman portal dalam langkah kedua, iaitu URL pelayan pengesahan ini Kami akan menyerahkan URL maklumat pelanggan WeChat ini dan dapatkan Keluaran pengesahan
lanjutkan ialah parameter lanjutan yang diluluskan apabila memanggil WeChat JSAPI di atas, yang dikembalikan ke halaman utama pedagang seperti sedia ada

2. Bagaimana untuk mengenal pasti sama ada permintaan http datang daripada klien WeChat

Hanya menghuraikan "User-Agent" dalam struktur pengepala paket http untuk menentukan sama ada ia mengandungi kata kunci "micromessenger" (sila berhati-hati untuk tidak memintas permintaan http WeChat yang lain, jadi sila padankan kata kunci dengan baik), kod sampel adalah seperti berikut:

...
String userAgent = request.getHeader("User-Agent");
if(userAgent.matches(".*micromessenger.*")){
	  response.sendRedirect("http://www.foo.com/portal/portal.html?authUrl=http%3A%2F%2Fwww.foo.com%2Fportal%2Fauth.html&extend=xxx ");			
}
...

Pelanggan WeChat akan menghuraikan authUrl dan melanjutkan parameter dalam alamat lompat Pelayan Portal dan terus menyelesaikan proses sambungan.

3. Halang IOS daripada muncul secara automatik di halaman portal

Untuk mengelakkan IOS daripada muncul secara automatik di halaman portal apabila menukar SSID, sila tukar alamat menghidu IOS "http://captive.apple .com/hotspot-detect. html ke dalam senarai putih.

4. Muat turun kod QR bahan

Selepas melengkapkan transformasi pelayan portal, hubungi antara muka "Dapatkan kod QR bahan" untuk memuat turun kod QR kedai dan menyiarkannya di kedai untuk menyambung ke Wi-Fi.


Contoh halaman portal mudah alih Demo

Sila rujuk contoh Demo untuk mengubah halaman Portal mudah alih (kod JS terus dalam halaman)

Sila gunakan pelayar mudah alih untuk membuka pautan berikut (boleh dimasukkan secara manual, anda juga boleh mengimbas kod untuk mendapatkan alamat pautan):

https://wifi.weixin.qq.com/operator/demoNew.xhtml

Jika anda menggunakan WeChat untuk mengimbas kod, sila klik butang di sudut kanan atas dan pilih halaman "Buka dalam penyemak imbas", jangan alaminya secara langsung dalam pelayar WeChat.


Soalan Lazim

11 Penyemak imbas web sesetengah telefon Android tidak boleh memanggil pelanggan WeChat secara automatik

Versi Android WeChat 6.2.5 dan ke atas sudah menyokong sambungan membuka secara manual. fungsi proses. Untuk memastikan proses ini berjalan lancar, pembangun perlu memberi perhatian kepada perkara berikut:

1.保证微信客户端版本为6.2.5以上的Android版微信;
2.参考示例demo中jsapi的写法,在无法自动跳转微信客户端时弹出提示,让用户手动切换到微信;
3.在portal页面中调用微信jsapi时,需保证AP设备的ssid和手机mac这2个参数真实有效;
4.测试过程请从切换到目标ssid动作开始(例如:原来为3G或4G网络然后手动选择目标ssid,原来为非目标ssid的wifi信号然后手动选择目标ssid,等等)。

2 Bagaimana untuk memastikan telefon kekal di bawah sasaran SSID selepas melompat dari halaman portal ke WeChat pada IOS?

Untuk memastikan Wi-Fi tersedia, sistem IOS tidak akan beralih kepadanya serta-merta selepas pengguna memilih SSID Sebaliknya, ia akan menghidu sama ada perkhidmatan lalai pada rangkaian awam boleh dicapai melalui SSID. Jika ia boleh dihidu Hanya maka sambungan ke ssid sebenarnya muncul. Dalam persekitaran AP di mana portal muncul, titik ini digunakan untuk memaparkan halaman portal Jika pengesahan selesai pada halaman portal, gesaan di sudut kanan atas portal akan berubah daripada "Batal" kepada "Lengkap. ". Jika anda meninggalkan antara muka ini dalam keadaan "Lengkap", SSID yang baru anda pilih akan diputuskan sambungan dan kembali ke sambungan terakhir yang tersedia. Walau bagaimanapun, jika anda meninggalkan antara muka ini dalam keadaan "Lengkap", ia tidak akan diputuskan.

Memandangkan antara muka portal akan melompat ke WeChat apabila lulus pengesahan WeChat, ia adalah prasyarat untuk memastikan status "Lengkap" di penjuru kanan sebelah atas portal. Pemaju perlu memberi perhatian kepada perkara berikut:

1.确保弹出portal后,临时放行手机的所有流量;
2.临时放行手机的所有流量后,局部或整体刷新portal页面触发IOS再次进行嗅探;
3.IOS嗅探可以正常触达公网上的预设服务后“取消”变为“完成”;
4.以上动作完成后,再调用跳转微信的JSAPI,继而跳转微信完成认证连接流程。


Proses pelaksanaan sisi PC

Sila ikuti langkah di bawah untuk menggunakan WeChat untuk menyambung ke Wi-Fi di sisi PC.

Langkah pertama: Dapatkan maklumat Wi-Fi kedai

Langkah pertama untuk menyambungkan PC ke Wi-Fi ialah mendapatkan maklumat Wi-Fi kedai, termasuk: appId, shop_id. Terdapat dua cara untuk mendapatkan maklumat Wi-Fi kedai:

1 Dapatkan melalui operasi halaman

Buka pemalam Wi-Fi WeChat pada platform awam WeChat, dan pergi ke [Pengurusan Peranti]->. ;[Tambah Peranti] , tambah "Tambah kaedah WeChat untuk menyambung ke Internet + perkhidmatan medan dekat selepas menyambung ke Internet" -> "Peranti jenis portal" selepas penambahan berjaya, anda boleh mendapatkan parameter Wi-Fi kedai maklumat.

Peranti tambahan juga boleh mendapatkan maklumat parameter Wi-Fi kedai dalam [Butiran Peranti]->[Lihat Maklumat Pengubahsuaian Peranti].

2. Dapatkan shop_id melalui antara muka

Panggil "Dapatkan senarai kedai WiFi", iaitu ID kedai yang akan ditambahkan peranti.

Langkah 2: Ubah suai halaman portal PC

Jika peranti yang disambungkan ialah PC, sebutkan WeChat JSAPI berikut dalam halaman portal supaya halaman portal Wi-Fi asal mempunyai keupayaan untuk memanggil WeChat Keupayaan:

<script type="text/javascript"    
src="https://wifi.weixin.qq.com/resources/js/wechatticket/pcauth.js" ></script>

Panggil JSAPI untuk menjana kod QR Kod sampel khusus adalah seperti berikut:

 <script type="text/javascript">
	    JSAPI.auth({
	    	target : document.getElementById('qrcode_zone'),
	        appId : 'wx23fb4aaf04b8491e',
	        shopId : 6747662,
	        extend : 'wechatpc',
	        authUrl : 'http://wximg.qq.com/tmt/wifi-landing-pc/dist/html/index-success.html'
	    });
</script>

Penerangan parameter

.
Adakah parameter diperlukan Penerangan
sasaran ialah lokasi peletakan imej kod QR
akaun platform awam WeChat pedagang
shopId YaIaitu, shop_id, ID kedai di mana peranti itu berada (kedai platform awam WeChat)
lanjutkanYalanjutkan boleh mengandungi koleksi parameter berkaitan yang diperlukan oleh pembangun yang akhirnya akan dihantar secara telus ke URL pensijilan pengendali . Parameter lanjutan hanya menyokong bahasa Inggeris dan nombor, dan panjangnya tidak boleh melebihi 300 aksara.
authUrl ialah URL pelayan pengesahan Pelanggan WeChat akan menyerahkan maklumat identiti WeChat pengguna ke URL ini dan mendapatkan pengesahan dan pelepasan
..


Sila senaraikan sokongan untuk URL WeChat yang disambungkan ke Wi-Fi.

https://wifi.weixin.qq.com/

Langkah 4: Sokong pelepasan sementara permintaan akses Internet pada hujung mudah alih

Sila rujuk langkah ketiga proses pelaksanaan tamat mudah alih untuk menyokong pelepasan sementara permintaan akses Internet pada hujung mudah alih .

Langkah 5: Terima pengesahan identiti WeChat dan keluarkan

Sila rujuk langkah keempat proses pelaksanaan terminal mudah alih untuk menerima pengesahan dan pelepasan identiti WeChat.

Contoh Demo Halaman Portal PC

Sila rujuk contoh Demo untuk mengubah suai halaman Portal PC (kod JS terus dalam halaman):

https://wifi.weixin.qq.com/operator/demoForPc.xhtml



Kaedah pengesahan luar talian bagi pengguna luar talian yang dilepaskan


tidak boleh buat sementara waktu Bahagian belakang WeChat boleh dicapai menggunakan pengesahan luar talian. Sila ikut langkah di bawah untuk menggunakan WeChat untuk menyambung ke Wi-Fi pada peranti mudah alih anda. .

Langkah pertama: Dapatkan maklumat Wi-Fi kedai

Sila rujuk langkah pertama proses pelaksanaan terminal mudah alih untuk mendapatkan maklumat Wi-Fi kedai. . Format pautan adalah seperti berikut:

https://wifi.weixin.qq.com/resources/js/wechatticket/pcauth.js

Penerangan parameter


iaitu shop_id, di mana peranti adalah Store ID (WeChat kedai platform awam ) authUrl ialah extend boleh dilanjutkan


Kaedah pengiraan tandatangan:

https://wifi.weixin.qq.com/cgi-bin/pollpcresult

Nota: Cap masa di sini ialah cap masa semasa dalam milisaat. authUrl ialah format url yang tidak dikodkan semasa menandatangani, seperti: http://192.168.1.1/auth.html?t=abc&s=123


Sokong identiti keluaran pengesahan

🎜Selepas pelanggan WeChat dipanggil, ia akan secara automatik memulakan permintaan pengesahan untuk authUrl dan menyerahkan parameter lanjutan. Identiti WeChat pengguna (parameter tid) akan dihantar melalui halaman utama pedagang. Pembangun harus memberi perhatian untuk mendapatkannya di latar belakang halaman utama pedagang. Contoh klien WeChat menghantar permintaan ke authUrl: 🎜
 function callWechatBrowser(){
	var appId = getParam('appId');
	var shopId = getParam('shopId');
	var authUrl = getParam('authUrl');
	var extend = getParam('extend');
	var timestamp = getParam('timestamp');
	var sign = getParam('sign');
	var weixinUrl = 'weixin://connectToFreeWifi/?apKey=_p33beta&appId='+appId+'&shopId='+shopId+'&authUrl='+authUrl+'&extend='+extend+'&timestamp='+timestamp+'&sign='+sign;	
	window.location=weixinUrl;
}
🎜🎜Penerangan parameter🎜🎜
Adakah parameter diperlukan Penerangan
appId ialah akaun platform awam WeChat
URL pelayan pengesahan Pelanggan WeChat akan menyerahkan maklumat identiti WeChat pengguna ke URL ini dan mendapatkan pensijilan dan pelepasan. Nilai authUrl ialah Url yang dikodkan, seperti: http%3A%2F%2F192.168.1.1%2Fauth.html%3Ft%3Dabc%26s%3D123
dalam Letakkan set parameter berkaitan yang diperlukan oleh pembangun, dan akhirnya akan dihantar secara telus ke URL pengesahan pengendali. Parameter lanjutan hanya menyokong bahasa Inggeris dan nombor, dan panjangnya tidak boleh melebihi 300 aksara.
cap masa ialah cap masa menggunakan milisaat
tanda ialah tandatangan parameter permintaan, kaedah pengiraan khusus diterangkan di bawah
Jika kod pengembalian http ialah 200, ia dianggap sebagai pengesahan perkhidmatan berjaya. Pelanggan WeChat melompat ke halaman sambungan yang berjaya pelayan pengesahan perlu memindahkan permintaan pengesahan, sila kembalikan 302 dan alamat hop seterusnya, klien WeChat akan memulakan permintaan lain ke alamat hop seterusnya, dan lompatan 302 hanya disokong sekali untuk bukan 200 dan 302, atau 302 kembali kod yang melebihi bilangan kali, ia dianggap sebagai kegagalan pengesahan, dan sambungan ini Rangkaian gagal dan klien WeChat melompat ke halaman kegagalan sambungan.
Parameter Description
extend adalah parameter Extend yang diluluskan apabila memanggil WeChat JSAPI di atas. Kenal pasti maklumat parameter ini dan kembalikan hasil pengesahan AC kepada klien WeChat Pelanggan WeChat akan menggesa pengguna sama ada sambungan berjaya atau tidak berdasarkan kod pulangan http.
Nota: Masa menunggu untuk permintaan pelanggan WeChat ialah 10s Sila pastikan pelayan pengesahan latar belakang mengembalikan hasil pengesahan AC, iaitu kod pengembalian http, dalam masa 10s selepas pelanggan WeChat menghantar permintaan kepada authUrl. Kegagalan untuk mengembalikan hasil pengesahan selama lebih daripada 10 saat akan dianggap sebagai kegagalan pengesahan.