WeChat, Weibo, QQ, это наиболее часто используемые мобильные приложения в настоящее время. Как мы можем производить продукты, не будучи с ними? Я не думаю, что кто -то хочет много учетных записей и паролей для входа в систему, поэтому я не могу вспомнить их вообще!
Чтобы увеличить пользовательский опыт, пользователи могут быстро зарегистрироваться и войти в систему, а также возникает необходимость входа сторонних учетных записей.
1. WeChat
1) WeChat Login также самая сложная вещь. Чтобы стать аккаунтом разработчика, требуется 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.wexinkey.getState () + "& redirect_uri =" + urlencoder.encode (shareelogindict.weixinur "& response_type = code & scope = snsapi_login & state = 66666#weChat_redirect"); } catch (ioException e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} @Override public result userwx (string return_code) {result result = new Result (); Map <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 ("openid"). tostring ()); 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"); } return Result; }Когда пользователь входит через WeChat, вызовите интерфейс WeChat, чтобы получить пользовательский интерфейс и вернуться в OpenID, прозвище и аватар терминала WeChat; Затем храните эту информацию в cookie браузера. Когда пользователь просматривает другую информацию, различает, если пользователь вошел в систему с WeChat, перехватчик напрямую получает информацию пользователя из cookie и отображает прозвище и аватар и в то же время определяет, связан ли OpenID с пользователем в базе данных. Если нет привязки, пользователь побуждает пользователя зарегистрироваться.
2. QQ Login
1) Приложение для создания интернета QQ
Перед обращением на доступ к QQ веб -сайт должен сначала применить для получения соответствующего Appid и Appkey, чтобы гарантировать, что веб -сайт и пользователи могут быть правильно проверены и авторизованы в последующем процессе.
Используется для Appid и Appkey
Appid: уникальный идентификатор приложения. Во время процесса аутентификации OAuth2.0 аппидовое значение - это значение 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=" + shareelogindict.qqkey.getState () + "& rediRect_uri =" + shareelogindict.qqquurl.getState () + "& redirect_uri =" + shareelogindict. "& scope = get_user_info"); } catch (ioException e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} @Override public result userqq (string return_code) {result result = new Result (); Map <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> user> user = (map <string, object>) qqapi .getqquser (token.get ("access_token"). toString (), tokenme.get ("openD"). toString ();); 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"); } return Result; }Когда пользователь входит в систему через QQ, вызовите интерфейс QQ, чтобы получить пользовательский интерфейс, чтобы вернуть OpenID, прозвище и аватар со стороны QQ; Затем храните эту информацию в cookie браузера. Когда пользователь просматривает другую информацию, различает, если пользователь вошел в систему с WeChat, перехватчик напрямую получает информацию пользователя из cookie и отображает прозвище и аватар и в то же время определяет, связан ли OpenID с пользователем в базе данных. Если нет привязки, предложите пользователю зарегистрироваться.
3 Weibo Login
1) Создать приложение на Weibo
Адрес приложения: http://open.weibo.com/authentication
2) Проверьте интерфейс, предоставленный Weibo и напишите код Java
public void wb () {try {response.sendredirect ("https://api.weibo.com/oauth2/authorize? } catch (ioException e) {// todo автоматически сгенерированный блок e.printstacktrace (); }} @Override public result userwb (string return_url, string return_code) {result result = new result (); Map <string, object> token = (map <string, object>) weiboapi.gettoken (return_url, return_code); if (token! = null && token.get ("access_token")! = null) {map <string> user = (map <string, object>) weiboapi .getwbuser (token.get ("access_token"). toString (), token.get ("uid"). tostring ()); 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"); } return Result; }Когда пользователь войдет через Weibo, вызовите интерфейс Weibo, чтобы получить пользовательский интерфейс и вернуться к Idstr, Nickname и Avatar на стороне Weibo; Затем храните эту информацию в cookie браузера. Когда пользователь просматривает другую информацию, различает, если пользователь вошел в систему с WeChat, перехватчик напрямую получает информацию пользователя из cookie и отображает прозвище и аватар и в то же время определяет, связан ли OpenID с пользователем в базе данных. Если нет привязки, пользователь побуждает пользователя зарегистрироваться.
Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!