@@ -18,19 +18,21 @@ namespace AuthServer.Controllers
18
18
{
19
19
public class AccountController : Controller
20
20
{
21
+ private readonly SignInManager < AppUser > _signInManager ;
21
22
private readonly UserManager < AppUser > _userManager ;
22
23
private readonly IIdentityServerInteractionService _interaction ;
23
24
private readonly IAuthenticationSchemeProvider _schemeProvider ;
24
25
private readonly IClientStore _clientStore ;
25
26
private readonly IEventService _events ;
26
27
27
- public AccountController ( UserManager < AppUser > userManager , IIdentityServerInteractionService interaction , IAuthenticationSchemeProvider schemeProvider , IClientStore clientStore , IEventService events )
28
+ public AccountController ( SignInManager < AppUser > signInManager , UserManager < AppUser > userManager , IIdentityServerInteractionService interaction , IAuthenticationSchemeProvider schemeProvider , IClientStore clientStore , IEventService events )
28
29
{
29
30
_userManager = userManager ;
30
31
_interaction = interaction ;
31
32
_schemeProvider = schemeProvider ;
32
33
_clientStore = clientStore ;
33
34
_events = events ;
35
+ _signInManager = signInManager ;
34
36
}
35
37
36
38
/// <summary>
@@ -175,6 +177,14 @@ public async Task<IActionResult> Register([FromBody]RegisterRequestViewModel mod
175
177
return Ok ( new RegisterResponseViewModel ( user ) ) ;
176
178
}
177
179
180
+ [ HttpGet ]
181
+ public async Task < IActionResult > Logout ( string logoutId )
182
+ {
183
+ await _signInManager . SignOutAsync ( ) ;
184
+ var context = await _interaction . GetLogoutContextAsync ( logoutId ) ;
185
+ return Redirect ( context . PostLogoutRedirectUri ) ;
186
+ }
187
+
178
188
/*****************************************/
179
189
/* helper APIs for the AccountController */
180
190
/*****************************************/
0 commit comments