public async Task <IActionResult> RevokeRefreshToken(RefreshTokenResourceModel model) { var result = await authService.RevokeRefreshToken(model); if (!result.Success) { return(BadRequest(result.Message)); } return(Ok(result)); }
public async Task <BaseResponse <AccessToken> > RevokeRefreshToken(RefreshTokenResourceModel model) { var result = await userService.RevokeRefreshToken(model.RefreshToken); if (!result) { return(new BaseResponse <AccessToken>("Fail couldnt revoke refreshtoken")); } //refreshtoken silinirse eğer bos accesstoken dönecek bunu daha sonra düzenleyeceğim n****s return(new BaseResponse <AccessToken>(new AccessToken())); }
public async Task <BaseResponse <AccessToken> > CreateAccessTokenWithRefreshToken(RefreshTokenResourceModel model) { var user = await userService.GetUserByRefreshToken(model.RefreshToken); if (!user.Success) { return(new BaseResponse <AccessToken>(user.Message)); } var token = tokenHandler.CreateAccessToken(user.Result.Item1); //yeni token ile refreshtoken claimleri güncellenecek Claim refreshTokenClaim = new Claim("refreshToken", token.RefreshToken); Claim refreshTokenEndDate = new Claim("refreshTokenEndDate", DateTime.Now.AddMinutes(tokenOptions.RefreshTokenExpiration).ToString()); var refReplace = await userManager.ReplaceClaimAsync(user.Result.Item1, user.Result.Item2.FirstOrDefault(c => c.Type == "refreshToken"), refreshTokenClaim); if (!refReplace.Succeeded) { return(new BaseResponse <AccessToken>("refreshtoken güncellenemedi")); } var refDateReplace = await userManager.ReplaceClaimAsync(user.Result.Item1, user.Result.Item2.FirstOrDefault(c => c.Type == "refreshTokenEndDate"), refreshTokenEndDate); if (!refDateReplace.Succeeded) { return(new BaseResponse <AccessToken>("refreshtokenDate güncellenemedi")); } return(new BaseResponse <AccessToken>(token)); }