5
5
using Duende . AccessTokenManagement . OpenIdConnect ;
6
6
using Microsoft . AspNetCore . Authentication ;
7
7
using Microsoft . AspNetCore . DataProtection ;
8
- using Microsoft . Extensions . Logging ; // TODO - Add useful logging to this class
9
-
8
+ using Microsoft . Extensions . Logging ;
10
9
namespace Duende . Bff . Blazor ;
11
10
12
11
/// <summary>
@@ -21,6 +20,7 @@ public class ServerSideTokenStore(
21
20
private readonly IDataProtector protector = dataProtectionProvider . CreateProtector ( ServerSideTicketStore . DataProtectorPurpose ) ;
22
21
public async Task < UserToken > GetTokenAsync ( ClaimsPrincipal user , UserTokenRequestParameters ? parameters = null )
23
22
{
23
+ logger . LogDebug ( "Retrieving token for user {user}" , user . Identity ? . Name ) ;
24
24
var session = await GetSession ( user ) ;
25
25
var ticket = session . Deserialize ( protector , logger ) ?? throw new InvalidOperationException ( "Failed to deserialize authentication ticket from session" ) ;
26
26
@@ -32,6 +32,8 @@ private async Task<UserSession> GetSession(ClaimsPrincipal user)
32
32
var sub = user . FindFirst ( "sub" ) ? . Value ?? throw new InvalidOperationException ( "no sub claim" ) ;
33
33
var sid = user . FindFirst ( "sid" ) ? . Value ?? throw new InvalidOperationException ( "no sid claim" ) ;
34
34
35
+ logger . LogDebug ( "Retrieving session {sid} for sub {sub}" , sid , sub ) ;
36
+
35
37
var sessions = await sessionStore . GetUserSessionsAsync ( new UserSessionsFilter
36
38
{
37
39
SubjectId = sub ,
@@ -46,6 +48,7 @@ private async Task<UserSession> GetSession(ClaimsPrincipal user)
46
48
47
49
public async Task StoreTokenAsync ( ClaimsPrincipal user , UserToken token , UserTokenRequestParameters ? parameters = null )
48
50
{
51
+ logger . LogDebug ( "Storing token for user {user}" , user . Identity ? . Name ) ;
49
52
await UpdateTicket ( user , ticket =>
50
53
{
51
54
tokensInAuthProperties . SetUserToken ( token , ticket . Properties , parameters ) ;
@@ -54,6 +57,7 @@ await UpdateTicket(user, ticket =>
54
57
55
58
public async Task ClearTokenAsync ( ClaimsPrincipal user , UserTokenRequestParameters ? parameters = null )
56
59
{
60
+ logger . LogDebug ( "Removing token for user {user}" , user . Identity ? . Name ) ;
57
61
await UpdateTicket ( user , ticket =>
58
62
{
59
63
tokensInAuthProperties . RemoveUserToken ( ticket . Properties , parameters ) ;
0 commit comments