WeChat, Weibo, QQ, esses são os aplicativos móveis mais usados hoje em dia. Como podemos fabricar produtos sem ser relacionados a eles? Eu não acho que alguém queira muitas contas e senhas para login, então não consigo me lembrar delas!
Para aumentar a experiência do usuário, os usuários podem se registrar rapidamente e fazer login, e a necessidade de contas de terceiros para fazer login é nascido.
1. WeChat
1) O Login do WeChat também é a coisa mais complicada. São necessários 300 oceanos para se tornar uma conta de desenvolvedor. Não há como alguém aumentar a base de usuários do WeChat, então tive que admitir. Em seguida, você precisa criar um aplicativo de site ao fazer login no back -end do site, preencher o domínio de retorno de chamada de autorização (o nome de domínio do site de login) e apenas preencha o nome de domínio.
Endereço do aplicativo: https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_cn
2) Verifique a interface fornecida pelo WeChat e escreva o código Java
public void wx () {try {Response.sendRedirect ("https://open.weixin.qq.com/connect/qrconnect?appid=" + sharelogindict.weixinkey.getState () + "& redirect_uri =" + urlEnncoder.Encode () + "& Redirect_uri =" + urlEnncoder.encode (). "& Response_type = Code & Scope = SNSAPI_LOGIN & STATE = 66666#wechat_redirect"); } catch (ioexception e) {// TODO GATO GENERADO AUTOMENTADO BLOCO E.PRINTSTACKTRACE (); }} @Override resultado público userwx (string return_code) {resultado resultado = new resultado (); Mapa <string, objeto> 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"). if (usuário! = null) {result.addmodel ("OpenId", user.get ("OpenId")); resultado.addmodel ("apelido", user.get ("apelido")); resultado.addmodel ("headimgurl", user.get ("headimgurl")); resultado.addmodel ("dados", "data_success"); } else {result.addmodel ("dados", "data_null"); }} else {result.addmodel ("dados", "data_null"); } resultado de retorno; }Quando o usuário faz login através do WeChat, ligue para a interface do WeChat para obter a interface do usuário e retornar ao OpenID, apelido e avatar do terminal WeChat; Em seguida, guarde essas informações no biscoito do navegador. Quando o usuário navegar em outras informações, distingue se o usuário estiver conectado ao WeChat, o interceptador obtém diretamente as informações do usuário do cookie e exibe o apelido e o avatar e, ao mesmo tempo, determina se o OpenId está vinculado ao usuário no banco de dados. Se não houver ligação, o usuário solicitará que o usuário se registre.
2. Login qq
1) Aplicativo de criação de Internet QQ
Antes de acessar o login do QQ, o site precisa se inscrever primeiro para obter o Appid e o AppKey correspondentes para garantir que o site e os usuários possam ser verificados e autorizados corretamente no processo subsequente.
Usos para Appid e Appkey
Appid: o identificador exclusivo do aplicativo. Durante o processo de autenticação OAuth2.0, o valor Appid é o valor de OAuth_Consumer_Key.
AppKey: a chave correspondente ao Appid, usada para verificar a legitimidade do aplicativo ao acessar os recursos do usuário. Durante o processo de autenticação OAuth2.0, o valor do AppKey é o valor de OAuth_Consumer_Secret.
Endereço do aplicativo: http://connect.qq.com/intro/login/
2) Verifique a interface fornecida pelo QQ e escreva o código Java
public void qq() { try { response.sendRedirect("https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=" + ShareLoginDict.QQKEY.getState() + "&redirect_uri=" + ShareLoginDict.QQURL.getState() + "& scope = get_user_info"); } catch (ioexception e) {// TODO GATO GENERADO AUTOMENTADO BLOCO E.PRINTSTACKTRACE (); }} @Override Result Public Result Userqq (String return_code) {resultado resultado = new Result (); Mapa <string, objeto> 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"). if (usuário! = null) {result.addmodel ("OpenId", tokenme.get ("OpenId")); resultado.addmodel ("apelido", user.get ("apelido")); resultado.addmodel ("figuraUrl", user.get ("figuraUrl")); resultado.addmodel ("dados", "data_success"); } else {result.addmodel ("dados", "data_null"); }} else {result.addmodel ("dados", "data_null"); }} else {result.addmodel ("dados", "data_null"); } resultado de retorno; }Quando o usuário efetuar login através do QQ, ligue para a interface QQ para obter a interface do usuário para retornar o OpenID, o apelido e o avatar do lado QQ; Em seguida, guarde essas informações no biscoito do navegador. Quando o usuário navegar em outras informações, distingue se o usuário estiver conectado ao WeChat, o interceptador obtém diretamente as informações do usuário do cookie e exibe o apelido e o avatar e, ao mesmo tempo, determina se o OpenId está vinculado ao usuário no banco de dados. Se não houver encadernação, solicite que o usuário se registre.
3 Login do Weibo
1) Crie um aplicativo no Weibo
Endereço do aplicativo: http://open.weibo.com/authentication
2) Verifique a interface fornecida pelo Weibo e escreva o código Java
public void wb () {try {Response.sendRedirect ("https://api.weibo.com/oauth2/authorize?client_id=" + sharelogindict.weibokey.getState () + "& redirect_uri =" + sharelogindict.weibourl.wstate () + "& redirect_uri =" + sharelogindict.weibourl. } catch (ioexception e) {// TODO GATO GENERADO AUTOMENTADO BLOCO E.PRINTSTACKTRACE (); }} @Override Result Public Result Userwb (String return_url, String return_code) {resultado resultado = new Result (); Mapa <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) {resultado.addmodel ("name", user.get ("screen_name")); resultado.addmodel ("pic", user.get ("avatar_large")); resultado.addmodel ("idstr", user.get ("idstr")); resultado.addmodel ("dados", "data_success"); } else {result.addmodel ("dados", "data_null"); }} else {result.addmodel ("dados", "data_null"); } resultado de retorno; }Quando o usuário faz login através do Weibo, ligue para a interface do Weibo para obter a interface do usuário e retornar ao IDSTR, apelido e avatar no lado Weibo; Em seguida, guarde essas informações no biscoito do navegador. Quando o usuário navegar em outras informações, distingue se o usuário estiver conectado ao WeChat, o interceptador obtém diretamente as informações do usuário do cookie e exibe o apelido e o avatar e, ao mesmo tempo, determina se o OpenId está vinculado ao usuário no banco de dados. Se não houver ligação, o usuário solicitará que o usuário se registre.
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!