public async Task <IActionResult> Callback(string code, string state = null) { IDeviantArtRefreshToken result = await DeviantArtAuth.GetTokenAsync(_appReg, code, new Uri($"https://{HttpContext.Request.Host}/Home/Callback")); var me = await DeviantArtFs.Api.User.AsyncWhoami(result, ObjectExpansion.None).StartAsTask(); var token = new Token { Id = Guid.NewGuid(), UserId = me.userid, AccessToken = result.AccessToken, RefreshToken = result.RefreshToken }; _context.Tokens.Add(token); await _context.SaveChangesAsync(); var claimsIdentity = new ClaimsIdentity( new[] { new Claim(ClaimTypes.Name, me.username), new Claim("token-id", token.Id.ToString()) }, CookieAuthenticationDefaults.AuthenticationScheme); await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity)); return(RedirectToAction("Index")); }
public async Task UpdateTokenAsync(IDeviantArtRefreshToken value) { CurrentToken = value; var t = await _context.Tokens.FindAsync(_originalToken.Id); if (t != null) { t.AccessToken = value.AccessToken; t.RefreshToken = value.RefreshToken; await _context.SaveChangesAsync(); } }
public async Task UpdateTokenAsync(IDeviantArtRefreshToken value) { _token.RefreshToken = value.RefreshToken; _token.AccessToken = value.AccessToken; await _context.SaveChangesAsync(); }