@@ -129,13 +129,7 @@ public async Task<IActionResult> RefreshToken([FromBody] RefreshTokenRequestDto?
129129 var roles = await GetUserRolesAsync ( userId . Value ) ;
130130 string accessToken = CreateAccessToken ( userId . Value , roles ) ;
131131 await SaveAndRevokeRefreshTokenAsync ( userId . Value , request . RefreshToken , newRefreshToken , AuthType . Unknown ) ;
132- Response . Cookies . Append ( CookieRefreshTokenName , newRefreshToken , new ( )
133- {
134- Secure = true ,
135- HttpOnly = true ,
136- SameSite = Microsoft . AspNetCore . Http . SameSiteMode . Strict ,
137- Expires = DateTimeOffset . UtcNow . Add ( GetCookieExpirationTime ( ) ) ,
138- } ) ;
132+ AddRefreshTokenToCookie ( newRefreshToken ) ;
139133 return Ok ( new TokenPairResponseDto
140134 {
141135 AccessToken = accessToken ,
@@ -185,13 +179,7 @@ public async Task<IActionResult> Login([FromBody] LoginRequestDto request)
185179 string refreshToken = StringHelpers . CreateRandomString ( 64 ) ;
186180 await SaveAndRevokeRefreshTokenAsync ( userId . Value , string . Empty , refreshToken , AuthType . Credentials ) ;
187181 await OnUserLoggingInAsync ( userId . Value , AuthType . Credentials , AuthRejectionType . None ) ;
188- Response . Cookies . Append ( CookieRefreshTokenName , refreshToken , new ( )
189- {
190- Secure = true ,
191- HttpOnly = true ,
192- SameSite = Microsoft . AspNetCore . Http . SameSiteMode . Strict ,
193- Expires = DateTimeOffset . UtcNow . Add ( GetCookieExpirationTime ( ) ) ,
194- } ) ;
182+ AddRefreshTokenToCookie ( refreshToken ) ;
195183 return Ok ( new TokenPairResponseDto
196184 {
197185 AccessToken = accessToken ,
@@ -241,13 +229,7 @@ public async Task<IActionResult> LoginWithGoogle([FromQuery] string token)
241229 string refreshToken = StringHelpers . CreateRandomString ( 64 ) ;
242230 await SaveAndRevokeRefreshTokenAsync ( userId . Value , string . Empty , refreshToken , AuthType . Google ) ;
243231 await OnUserLoggingInAsync ( userId . Value , AuthType . Google , AuthRejectionType . None ) ;
244- Response . Cookies . Append ( CookieRefreshTokenName , refreshToken , new ( )
245- {
246- Secure = true ,
247- HttpOnly = true ,
248- SameSite = Microsoft . AspNetCore . Http . SameSiteMode . Strict ,
249- Expires = DateTimeOffset . UtcNow . Add ( GetCookieExpirationTime ( ) ) ,
250- } ) ;
232+ AddRefreshTokenToCookie ( refreshToken ) ;
251233 return Ok ( new TokenPairResponseDto
252234 {
253235 AccessToken = accessToken ,
@@ -390,7 +372,7 @@ public virtual IEnumerable<KeyValuePair<string, string>> GetAdditionalTokenClaim
390372 return [ ] ;
391373 }
392374
393- private string CreateAccessToken ( Guid userId , IEnumerable < string > roles )
375+ private protected string CreateAccessToken ( Guid userId , IEnumerable < string > roles )
394376 {
395377 return _tokenProvider . CreateToken ( cb =>
396378 {
@@ -406,5 +388,16 @@ private string CreateAccessToken(Guid userId, IEnumerable<string> roles)
406388 return cb ;
407389 } ) ;
408390 }
391+
392+ private protected void AddRefreshTokenToCookie ( string refreshToken )
393+ {
394+ Response . Cookies . Append ( CookieRefreshTokenName , refreshToken , new ( )
395+ {
396+ Secure = true ,
397+ HttpOnly = true ,
398+ SameSite = Microsoft . AspNetCore . Http . SameSiteMode . Strict ,
399+ Expires = DateTimeOffset . UtcNow . Add ( GetCookieExpirationTime ( ) ) ,
400+ } ) ;
401+ }
409402 }
410403}
0 commit comments