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
public void wx () {try {response.sendredirect ("https://open.weixin.qq.com/connect/qrconnect؟appid=" + SharelogIndict.WeixinKey.getState () + "& redirect_uri = + urlencoder.encode "& response_type = code & scope = snsapi_login & state = 66666#wechat_redirect") ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ }} Override public result userwx (string return_code) {result result = new result () ؛ خريطة <string ، Object> token = (Map <String ، Object>) Weixinapi .getToken (return_code) ؛ if (token! = null && token.get ("access_token")! = null) {map <string ، object> user = (map <string ، object>) weixinapi .getwxuser (token.get ("access_token"). toString () ، token.get ( if (user! = null) {result.addModel ("OpenId" ، user.get ("openId")) ؛ result.addModel ("nableame" ، user.get ("lamname")) ؛ result.addmodel ("Headimgurl" ، user.get ("Headimgurl")) ؛ result.addModel ("Data" ، "data_success") ؛ } آخر {result.addModel ("البيانات" ، "data_null") ؛ }} آخر {result.addModel ("البيانات" ، "data_null") ؛ } نتيجة الإرجاع ؛ }عندما يقوم المستخدم بتسجيل الدخول من خلال WeChat ، اتصل بواجهة WeChat للحصول على واجهة المستخدم والعودة إلى OpenId ، لقب ، وإفاتار محطة WeChat ؛ ثم قم بتخزين هذه المعلومات في ملف تعريف الارتباط للمتصفح. عندما يتصفح المستخدم معلومات أخرى ، قم بالتمييز إذا تم تسجيل الدخول مع WeChat ، فإن Interceptor يحصل مباشرة على معلومات المستخدم من ملف تعريف الارتباط ويعرض اللقب والجسور ، وفي الوقت نفسه يحدد ما إذا كان 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
public void qq () {try {response.sendredirect ("https://graph.qq.com/oauth2.0/authorize؟response_type=code&client_id=" + sharelogindict.qkey.getstate () + "& redirect_uri = "& scope = get_user_info") ؛ } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ }} Override public result userqq (string return_code) {result result = new result () ؛ خريطة <string ، object> token = (map <string ، object>) qqapi .getToken (return_code) ؛ if (token! = null && token.get ("access_token")! = null) {map <string ، object> tokenme = (map <string ، object>) qqapi .getTokenMeopenId (token.get ("access_token"). toString ()) ؛ if (tokenme! = null && tokenme.get ("openId")! = null) {map <string ، object> user = (map <string ، object>) qqapi .getQQUser (token.get ("access_token"). toString () ، tokenme.get ( if (user! = null) {result.addModel ("OpenId" ، tokenme.get ("openId")) ؛ result.addModel ("nableame" ، user.get ("lamname")) ؛ result.addModel ("figureurl" ، user.get ("figureurl")) ؛ result.addModel ("Data" ، "data_success") ؛ } آخر {result.addModel ("البيانات" ، "data_null") ؛ }} آخر {result.addModel ("البيانات" ، "data_null") ؛ }} آخر {result.addModel ("البيانات" ، "data_null") ؛ } نتيجة الإرجاع ؛ }عندما يقوم المستخدم بتسجيل الدخول من خلال QQ ، اتصل بواجهة QQ للحصول على واجهة المستخدم لإرجاع OpenID ، اسم اللقب ، وجسور الجانب QQ ؛ ثم قم بتخزين هذه المعلومات في ملف تعريف الارتباط للمتصفح. عندما يتصفح المستخدم معلومات أخرى ، قم بالتمييز إذا تم تسجيل الدخول مع WeChat ، فإن Interceptor يحصل مباشرة على معلومات المستخدم من ملف تعريف الارتباط ويعرض اللقب والجسور ، وفي الوقت نفسه يحدد ما إذا كان OpenID مرتبطًا بالمستخدم في قاعدة البيانات. إذا لم يكن هناك ارتباط ، ادعى المستخدم بالتسجيل.
3 Weibo تسجيل الدخول
1) إنشاء تطبيق على Weibo
عنوان التطبيق: http://open.weibo.com/authentication
2) تحقق من الواجهة التي توفرها Weibo وكتابة رمز Java
public void wb () {try {response.sendredirect ("https://api.weibo.com/oauth2/authorize؟client_id=" + SharelogIndict.WeiBokey.getState () + "& redirect_uri = } catch (ioException e) {// todo acto catch block e.printstacktrace () ؛ }} Override public result userwb (string return_url ، string return_code) {result = new result () ؛ خريطة <string ، object> token = (Map <String ، Object>) weiboapi.getToken (return_url ، return_code) ؛ if (token! = null && token.get ("access_token")! = null) {map <string ، object> user = (map <string ، object>) 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") ؛ } آخر {result.addModel ("البيانات" ، "data_null") ؛ }} آخر {result.addModel ("البيانات" ، "data_null") ؛ } نتيجة الإرجاع ؛ }عندما يقوم المستخدم بتسجيل الدخول عبر Weibo ، اتصل بواجهة Weibo للحصول على واجهة المستخدم والعودة إلى IDSTR و Kname و Avatar على جانب Weibo ؛ ثم قم بتخزين هذه المعلومات في ملف تعريف الارتباط للمتصفح. عندما يتصفح المستخدم معلومات أخرى ، قم بالتمييز إذا تم تسجيل الدخول مع WeChat ، فإن Interceptor يحصل مباشرة على معلومات المستخدم من ملف تعريف الارتباط ويعرض اللقب والجسور ، وفي الوقت نفسه يحدد ما إذا كان OpenID مرتبطًا بالمستخدم في قاعدة البيانات. إذا لم يكن هناك ارتباط ، فإن المستخدم يطالب المستخدم بالتسجيل.
شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!