WeChat, Weibo, QQ, ini adalah aplikasi seluler yang paling umum digunakan saat ini. Bagaimana kita bisa membuat produk tanpa terkait dengannya? Saya tidak berpikir ada yang menginginkan banyak akun dan kata sandi untuk login, jadi saya tidak bisa mengingatnya sama sekali!
Untuk meningkatkan pengalaman pengguna, pengguna dapat dengan cepat mendaftar dan masuk, dan kebutuhan untuk akun pihak ketiga untuk masuk lahir.
1. WeChat
1) Login WeChat juga merupakan hal yang paling rumit. Dibutuhkan 300 lautan untuk menjadi akun pengembang. Tidak ada cara bagi siapa pun untuk membuat basis pengguna WeChat besar, jadi saya harus mengakuinya. Kemudian, Anda perlu membuat aplikasi situs web saat masuk ke backend situs web, isi domain callback otorisasi (nama domain situs web login) dan cukup isi nama domain.
Alamat aplikasi: https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_cn
2) Periksa antarmuka yang disediakan oleh WeChat dan tulis kode java
public void wx () {coba {response.sendredirect ("https://open.weixin.qq.com/connect/qrconnect?appid=" + sharelogindict.weixinkey.getState () + "& redirect_uri =" + urlencoder.encode (sharelindog. "& response_type = kode & scope = snsapi_login & state = 66666#weChat_redirect"); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }} @Override Public Hasil userwx (string return_code) {hasil result = hasil baru (); Peta <string, object> token = (peta <string, objek>) weixinapi .getToken (return_code); if (token! = null && token.get ("access_token")! = null) {peta <string, object> user = (peta <string, objek>) weixinapi .getWxuser (token.get ("access_token). ToString (), token.get (" openid "). ToString"); if (user! = null) {result.addmodel ("openId", user.get ("openId")); result.addmodel ("nama panggilan", user.get ("julukan")); result.addmodel ("headimgurl", user.get ("headimgurl")); result.addmodel ("data", "data_success"); } else {result.addmodel ("data", "data_null"); }} else {result.addmodel ("data", "data_null"); } hasil pengembalian; }Ketika pengguna masuk melalui WeChat, hubungi antarmuka WeChat untuk mendapatkan antarmuka pengguna dan kembali ke OpenID, nama panggilan, dan avatar terminal WeChat; Kemudian simpan informasi ini ke dalam cookie browser. Ketika pengguna menelusuri informasi lain, bedakan jika pengguna masuk dengan WeChat, Interceptor langsung memperoleh informasi pengguna dari cookie dan menampilkan nama panggilan dan avatar, dan pada saat yang sama menentukan apakah OpenID terikat dengan pengguna dalam database. Jika tidak ada ikatan, pengguna meminta pengguna untuk mendaftar.
2. QQ Login
1) Aplikasi Pembuatan Internet QQ
Sebelum mengakses login QQ, situs web perlu diterapkan terlebih dahulu untuk mendapatkan appid dan appkey yang sesuai untuk memastikan bahwa situs web dan pengguna dapat diverifikasi dan diizinkan dengan benar dalam proses selanjutnya.
Penggunaan untuk appid dan appkey
APPID: Pengidentifikasi unik dari aplikasi. Selama proses otentikasi OAuth2.0, nilai appid adalah nilai oauth_consumer_key.
Appley: Kunci yang sesuai dengan AppID, digunakan untuk memverifikasi legitimasi aplikasi saat mengakses sumber daya pengguna. Selama proses otentikasi OAuth2.0, nilai Appey adalah nilai OAuth_Consumer_secret.
Alamat aplikasi: http://connect.qq.com/intro/login/
2) Periksa antarmuka yang disediakan oleh QQ dan tulis kode java
public void qq () {coba {response.sendredirect ("https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=" + sharelogindict.qqkey.getSate () + "& redirect_uri =" + sharelogindict.qqey.getSate () + "& redirect_uri =" + sharelogindict.qqey. "& scope = get_user_info"); } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }} @Override PUBLIK Hasil Penggunaqq (String return_code) {hasil hasil = hasil baru (); Peta <string, object> token = (peta <string, object>) qqapi .getToken (return_code); if (token! = null && token.get ("access_token")! = null) {peta <string, object> tokenme = (peta <string, objek>) qqapi .getTokenMeopenid (token.get ("access_token"). tostring ()); if (tokenMe! = null && tokenme.get ("openId")! = null) {peta <string, objek> user = (peta <string, objek>) qqapi .getqquser (token.get ("access_token). tostring (), tokenMe.get (" openid "). if (user! = null) {result.addmodel ("openId", tokenme.get ("openId")); result.addmodel ("nama panggilan", user.get ("julukan")); result.addmodel ("figururl", user.get ("figururl")); result.addmodel ("data", "data_success"); } else {result.addmodel ("data", "data_null"); }} else {result.addmodel ("data", "data_null"); }} else {result.addmodel ("data", "data_null"); } hasil pengembalian; }Ketika pengguna masuk melalui QQ, hubungi antarmuka QQ untuk mendapatkan antarmuka pengguna untuk mengembalikan OpenID, nama panggilan, dan avatar sisi QQ; Kemudian simpan informasi ini ke dalam cookie browser. Ketika pengguna menelusuri informasi lain, bedakan jika pengguna masuk dengan WeChat, Interceptor langsung memperoleh informasi pengguna dari cookie dan menampilkan nama panggilan dan avatar, dan pada saat yang sama menentukan apakah OpenID terikat dengan pengguna dalam database. Jika tidak ada ikatan, minta pengguna untuk mendaftar.
3 Login Weibo
1) Buat aplikasi di Weibo
Alamat aplikasi: http://open.weibo.com/authentication
2) Periksa antarmuka yang disediakan oleh Weibo dan tulis kode java
public void wb () {try {response.sendredirect ("https://api.weibo.com/oauth2/authorize?client_id=" + sharelogindict.weibokey.getState () + "& redirect_uri =" + sharelogindict.weibourl.getate () "& redirect_uri =" + sharelogindict.weibourl.getate () ";" + ")" } catch (ioException e) {// TODO AUTO-ENCEALATED Catch Block E.PrintStackTrace (); }} @Override Public Hasil userwb (String return_url, string return_code) {hasil hasil = hasil baru (); Peta <string, object> token = (peta <string, objek>) weiboapi.getToken (return_url, return_code); if (token! = null && token.get ("access_token")! = null) {peta <string, object> user = (peta <string, objek>) weiboapi .getwbuser (token.get ("access_token). tostring (), token.get (" uid "). if (user! = null) {result.addmodel ("name", user.get ("screen_name")); result.addmodel ("pic", user.get ("avatar_large")); result.addmodel ("idstr", user.get ("idstr")); result.addmodel ("data", "data_success"); } else {result.addmodel ("data", "data_null"); }} else {result.addmodel ("data", "data_null"); } hasil pengembalian; }Ketika pengguna masuk melalui Weibo, hubungi antarmuka Weibo untuk mendapatkan antarmuka pengguna dan kembali ke IDST, nama panggilan, dan avatar di sisi Weibo; Kemudian simpan informasi ini ke dalam cookie browser. Ketika pengguna menelusuri informasi lain, bedakan jika pengguna masuk dengan WeChat, Interceptor langsung memperoleh informasi pengguna dari cookie dan menampilkan nama panggilan dan avatar, dan pada saat yang sama menentukan apakah OpenID terikat dengan pengguna dalam database. Jika tidak ada ikatan, pengguna meminta pengguna untuk mendaftar.
Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!