1.第三方登錄流程
(A)用戶訪問客戶端,后者將前者導向認證服務器。
(B)用戶選擇是否給予客戶端授權。
(C)假設用戶給予授權,認證服務器將用戶導向客戶端事先指定的"重定向URI",同時附上一個授權 碼。
(D)客戶端收到授權碼,附上早先的"重定向URI",向認證服務器申請令牌。這一步是在客戶端的后 台的服務器上完成的,對用戶不可見。
(E)認證服務器核對了授權碼和重定向URI,確認無誤后,向客戶端發送訪問令牌(access token)和 更新令牌(refresh token)。
2第三方登錄簡單實用
--登錄微信開發平台注冊
--封裝一個常量類,主要是第三方登錄需要的參數(需要去第三方網站注冊)
public class WechatConstant {
//請求code的URL
public static final String CODE_URL = "https://open.weixin.qq.com/connect/qrconnect?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect";
//APPID
public static final String APPID = "xxxx";
//SECRET
public static final String SECRET = "xxxx";
//REDIRECT_URI
public static final String REDIRECT_URI = "xxxx";
--controller
@Controller
public class LoginController {
@RequestMapping(value = "/login",method = RequestMethod.GET)
public String login(Model model){
String url = WechatConstant.CODE_URL.replaceAll("APPID",WechatConstant.APPID)
.replaceAll("REDIRECT_URI",WechatConstant.REDIRECT_URI);//拼接地址
model.addAttribute("authenUrl",url);
return "forward:/login.jsp";
}