// lay ma uy quyen #endregion #region to Create AccessToken by using this Parameters // Lay ma truy cap public async Task <ActionResult> CreateOauthTokenForGmail(string code) { var result = await _tokenAppService.CreateOauthTokenForGmailAsync(code); //Lay userID de luu vao bang Token var userId = GetUserId(); // kiem tra access Token da co trong Db chua // Neu chua co thi them vao, co roi thi thoi var isCheck = _tokenAppService.GetToken(userId, 1); if (isCheck == null) { // luu accessToken vao Db await SaveToken(result.access_token, result.refresh_token, userId, result.gmail); Session["Token"] = result.access_token; Session["Email"] = result.gmail; } else { Session["Token"] = isCheck.access_token; Session["Email"] = isCheck.gmail; } return(RedirectToAction("Index")); }
public async Task <ActionResult> Index() { var model = new ZoomIndexViewModel(); //Lay userID de Kiem tra login var userId = GetUserId(); // Co the su dung AbpSession de lay UserId // Chu y tenantID // luu accessToken vao Db UserMeeting userMeeting; // kiem tra access Token da co trong Db chua // Neu chua co thi them vao, co roi thi thoi var checkToken = _tokenAppService.GetToken(userId, 2);// nen tach ra thanh 1 ham if (checkToken != null) { //Session["Email"] = await GetUserDetails(); // email = await GetUserDetails(); //get list mail Session["AccessToken"] = checkToken.access_token; userMeeting = await _zoomAppService.GetUserDetailsAsync(Session["AccessToken"].ToString()); if (userMeeting.userEmail == null) { var newToken = await _zoomAppService.RefreshToken(checkToken.refresh_token); // luu lai vao DB UpdateTokenInput input = new UpdateTokenInput(); input.Id = checkToken.Id; input.access_token = newToken.access_token; input.refresh_token = newToken.refresh_token; _tokenAppService.UpdateToken(input); Session["AccessToken"] = newToken.access_token; userMeeting = await _zoomAppService.GetUserDetailsAsync(Session["AccessToken"].ToString()); //listMail = await GetAllMeeting(); } Session["UserZoomId"] = userMeeting.userId; Session["UserZoomEmail"] = checkToken.gmail; List <Meeting> listMail = GetAllMeeting(); model = new ZoomIndexViewModel(listMail, Session["UserZoomEmail"].ToString()); model.isAuthenticated = true; return(View(model)); } else { return(View(model)); } }
public AccessTokenResponse GetToken(AccessTokenRequest request) { return(_tokenAppService.GetToken(request)); }