add PKCE support to device code flow (#2575)
Signed-off-by: Bob Callaway <bobcallaway@users.noreply.github.com>
This commit is contained in:
@@ -17,6 +17,8 @@ func (d *Database) CreateDeviceToken(token storage.DeviceToken) error {
|
||||
SetExpiry(token.Expiry.UTC()).
|
||||
SetLastRequest(token.LastRequestTime.UTC()).
|
||||
SetStatus(token.Status).
|
||||
SetCodeChallenge(token.PKCE.CodeChallenge).
|
||||
SetCodeChallengeMethod(token.PKCE.CodeChallengeMethod).
|
||||
Save(context.TODO())
|
||||
if err != nil {
|
||||
return convertDBError("create device token: %w", err)
|
||||
@@ -63,6 +65,8 @@ func (d *Database) UpdateDeviceToken(deviceCode string, updater func(old storage
|
||||
SetExpiry(newToken.Expiry.UTC()).
|
||||
SetLastRequest(newToken.LastRequestTime.UTC()).
|
||||
SetStatus(newToken.Status).
|
||||
SetCodeChallenge(newToken.PKCE.CodeChallenge).
|
||||
SetCodeChallengeMethod(newToken.PKCE.CodeChallengeMethod).
|
||||
Save(context.TODO())
|
||||
if err != nil {
|
||||
return rollback(tx, "update device token uploading: %w", err)
|
||||
|
@@ -164,5 +164,9 @@ func toStorageDeviceToken(t *db.DeviceToken) storage.DeviceToken {
|
||||
Expiry: t.Expiry,
|
||||
LastRequestTime: t.LastRequest,
|
||||
PollIntervalSeconds: t.PollInterval,
|
||||
PKCE: storage.PKCE{
|
||||
CodeChallenge: t.CodeChallenge,
|
||||
CodeChallengeMethod: t.CodeChallengeMethod,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user