WeChat, Weibo, QQ, นี่เป็นแอพมือถือที่ใช้กันมากที่สุดในปัจจุบัน เราจะสร้างผลิตภัณฑ์โดยไม่เกี่ยวข้องกับพวกเขาได้อย่างไร? ฉันไม่คิดว่าจะมีใครต้องการบัญชีและรหัสผ่านมากมายสำหรับการเข้าสู่ระบบดังนั้นฉันจึงจำไม่ได้เลย!
เพื่อเพิ่มประสบการณ์ผู้ใช้ผู้ใช้สามารถลงทะเบียนและเข้าสู่ระบบได้อย่างรวดเร็วและความต้องการบัญชีบุคคลที่สามในการเข้าสู่ระบบเกิดขึ้น
1. WeChat
1) การเข้าสู่ระบบ WeChat ยังเป็นสิ่งที่ยุ่งยากที่สุด ใช้เวลา 300 มหาสมุทรในการเป็นบัญชีนักพัฒนา ไม่มีทางที่ทุกคนจะทำให้ฐานผู้ใช้ WeChat มีขนาดใหญ่ดังนั้นฉันต้องยอมรับมัน จากนั้นคุณต้องสร้างแอปพลิเคชันเว็บไซต์เมื่อลงชื่อเข้าใช้แบ็กเอนด์ของเว็บไซต์กรอกข้อมูลในโดเมนการโทรกลับการอนุญาต (ชื่อโดเมนของเว็บไซต์เข้าสู่ระบบ) และเพียงกรอกข้อมูลในชื่อโดเมน
ที่อยู่แอปพลิเคชัน: https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_cn
2) ตรวจสอบส่วนต่อประสานที่จัดทำโดย WeChat และเขียนรหัส Java
โมฆะสาธารณะ wx () {ลอง {response.sendredirect ("https://open.weixin.qq.com/connect/qrconnect?appid=" + sharelogindict.weixinkey.getState () + "& redirect_uri =" "& response_type = code & scope = snsapi_login & state = 66666#wechat_redirect"); } catch (ioexception e) {// todo บล็อก catch block ที่สร้างอัตโนมัติ e.printstacktrace (); }} @Override ผลลัพธ์สาธารณะ userwx (สตริง return_code) {ผลลัพธ์ผลลัพธ์ = ผลลัพธ์ใหม่ (); แผนที่ <string, Object> token = (แผนที่ <string, object>) weixinapi .getToken (return_code); if (token! = null && token.get ("access_token")! = null) {map <string, object> user = (แผนที่ <string, object>) weixinapi .getWxuser (token.get ("access_token"). if (user! = null) {result.addModel ("openId", user.get ("openId")); result.addmodel ("ชื่อเล่น", user.get ("ชื่อเล่น")); result.addmodel ("headimgurl", user.get ("headimgurl")); result.addmodel ("data", "data_success"); } else {result.addModel ("data", "data_null"); }} else {result.addModel ("data", "data_null"); } ผลตอบแทนผลลัพธ์; -เมื่อผู้ใช้เข้าสู่ระบบผ่าน WeChat ให้โทรไปที่อินเตอร์เฟส WeChat เพื่อรับส่วนต่อประสานผู้ใช้และกลับไปที่ OpenID, ชื่อเล่นและอวตารของเทอร์มินัล WeChat; จากนั้นเก็บข้อมูลนี้ไว้ในคุกกี้ของเบราว์เซอร์ เมื่อผู้ใช้เรียกดูข้อมูลอื่น ๆ ให้แยกแยะว่าผู้ใช้เข้าสู่ระบบด้วย WeChat ผู้ใช้จะได้รับข้อมูลของผู้ใช้โดยตรงจากคุกกี้และแสดงชื่อเล่นและอวตารและในเวลาเดียวกันจะกำหนดว่า OpenID จะถูกผูกไว้กับผู้ใช้ในฐานข้อมูลหรือไม่ หากไม่มีการเชื่อมโยงผู้ใช้จะแจ้งให้ผู้ใช้ลงทะเบียน
2. QQ เข้าสู่ระบบ
1) แอปพลิเคชันการสร้างอินเทอร์เน็ต QQ
ก่อนที่จะเข้าถึงการเข้าสู่ระบบ QQ เว็บไซต์จะต้องสมัครก่อนเพื่อรับ AppID และ AppKey ที่เกี่ยวข้องเพื่อให้แน่ใจว่าเว็บไซต์และผู้ใช้สามารถได้รับการตรวจสอบและได้รับอนุญาตอย่างถูกต้องในกระบวนการที่ตามมา
ใช้สำหรับ appid และ appkey
AppID: ตัวระบุที่ไม่ซ้ำกันของแอปพลิเคชัน ในระหว่างกระบวนการตรวจสอบความถูกต้อง OAUTH2.0 ค่า APPID คือค่าของ OAUTH_CONSUMER_KEY
AppKey: คีย์ที่สอดคล้องกับ AppID ใช้เพื่อตรวจสอบความถูกต้องตามกฎหมายของแอปพลิเคชันเมื่อเข้าถึงทรัพยากรผู้ใช้ ในระหว่างกระบวนการตรวจสอบความถูกต้อง OAuth2.0 ค่า AppKey คือค่าของ OAuth_Consumer_Secret
ที่อยู่แอปพลิเคชัน: http://connect.qq.com/intro/login/
2) ตรวจสอบอินเทอร์เฟซที่จัดทำโดย QQ และเขียนรหัส Java
โมฆะสาธารณะ qq () {ลอง {response.sendredirect ("https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=" "& scope = get_user_info"); } catch (ioexception e) {// todo บล็อก catch block ที่สร้างอัตโนมัติ e.printstacktrace (); }} @Override ผลลัพธ์สาธารณะ userqq (สตริง return_code) {ผลลัพธ์ผลลัพธ์ = ผลลัพธ์ใหม่ (); แผนที่ <string, object> token = (แผนที่ <string, object>) qqapi .getToken (return_code); if (token! = null && token.get ("access_token")! = null) {map <string, object> tokenme = (แผนที่ <string, object>) qqapi .getTokenMeOpenid (token.get (access_token ") if (tokenme! = null && tokenme.get ("openId")! = null) {map <string, object> user = (แผนที่ <สตริง, วัตถุ>) qqapi .getqquser (token.get ("Access_Token") if (user! = null) {result.addmodel ("openId", tokenme.get ("openId")); result.addmodel ("ชื่อเล่น", user.get ("ชื่อเล่น")); result.addModel ("FigureUrl", user.get ("FigureUrl")); result.addmodel ("data", "data_success"); } else {result.addModel ("data", "data_null"); }} else {result.addModel ("data", "data_null"); }} else {result.addModel ("data", "data_null"); } ผลตอบแทนผลลัพธ์; -เมื่อผู้ใช้เข้าสู่ระบบผ่าน QQ ให้โทรไปที่อินเตอร์เฟส QQ เพื่อรับส่วนต่อประสานผู้ใช้เพื่อส่งคืน OpenID ชื่อเล่นและอวตารของด้าน QQ; จากนั้นเก็บข้อมูลนี้ไว้ในคุกกี้ของเบราว์เซอร์ เมื่อผู้ใช้เรียกดูข้อมูลอื่น ๆ ให้แยกแยะว่าผู้ใช้เข้าสู่ระบบด้วย WeChat ผู้ใช้จะได้รับข้อมูลของผู้ใช้โดยตรงจากคุกกี้และแสดงชื่อเล่นและอวตารและในเวลาเดียวกันจะกำหนดว่า OpenID จะถูกผูกไว้กับผู้ใช้ในฐานข้อมูลหรือไม่ หากไม่มีการเชื่อมโยงให้ผู้ใช้ลงทะเบียน
3 Weibo เข้าสู่ระบบ
1) สร้างแอปพลิเคชันบน Weibo
ที่อยู่แอปพลิเคชัน: http://open.weibo.com/authentication
2) ตรวจสอบอินเทอร์เฟซที่จัดทำโดย Weibo และเขียนรหัส Java
โมฆะสาธารณะ wb () {ลอง {response.sendredirect ("https://api.weibo.com/oauth2/authorize?client_id=" + sharelogindict.weibokey.getstate () + "& redirect_uri =" + sharelogindict.weibourl. } catch (ioexception e) {// todo บล็อก catch block ที่สร้างอัตโนมัติ e.printstacktrace (); }} @Override ผลลัพธ์สาธารณะ userwb (สตริง return_url, สตริง return_code) {ผลลัพธ์ผลลัพธ์ = ผลลัพธ์ใหม่ (); แผนที่ <string, object> token = (แผนที่ <string, object>) weiboapi.getToken (return_url, return_code); if (token! = null && token.get ("access_token")! = null) {map <string, object> user = (แผนที่ <string, object>) weiboapi .getwbuser (token.get ("access_token"). if (user! = null) {result.addModel ("ชื่อ", 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"); } ผลตอบแทนผลลัพธ์; -เมื่อผู้ใช้เข้าสู่ระบบผ่าน Weibo ให้โทรไปที่อินเตอร์เฟส Weibo เพื่อรับอินเทอร์เฟซผู้ใช้และกลับไปที่ IDSTR ชื่อเล่นและอวตารทางด้าน Weibo จากนั้นเก็บข้อมูลนี้ไว้ในคุกกี้ของเบราว์เซอร์ เมื่อผู้ใช้เรียกดูข้อมูลอื่น ๆ ให้แยกแยะว่าผู้ใช้เข้าสู่ระบบด้วย WeChat ผู้ใช้จะได้รับข้อมูลของผู้ใช้โดยตรงจากคุกกี้และแสดงชื่อเล่นและอวตารและในเวลาเดียวกันจะกำหนดว่า OpenID จะถูกผูกไว้กับผู้ใช้ในฐานข้อมูลหรือไม่ หากไม่มีการเชื่อมโยงผู้ใช้จะแจ้งให้ผู้ใช้ลงทะเบียน
ขอบคุณสำหรับการอ่านฉันหวังว่ามันจะช่วยคุณได้ ขอบคุณสำหรับการสนับสนุนเว็บไซต์นี้!