mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat: add oauth2 token exchange (#12196)
Co-authored-by: Steven Masley <stevenmasley@gmail.com>
This commit is contained in:
@@ -707,6 +707,7 @@ func OAuth2ProviderAppSecret(t testing.TB, db database.Store, seed database.OAut
|
||||
app, err := db.InsertOAuth2ProviderAppSecret(genCtx, database.InsertOAuth2ProviderAppSecretParams{
|
||||
ID: takeFirst(seed.ID, uuid.New()),
|
||||
CreatedAt: takeFirst(seed.CreatedAt, dbtime.Now()),
|
||||
SecretPrefix: takeFirstSlice(seed.SecretPrefix, []byte("prefix")),
|
||||
HashedSecret: takeFirstSlice(seed.HashedSecret, []byte("hashed-secret")),
|
||||
DisplaySecret: takeFirst(seed.DisplaySecret, "secret"),
|
||||
AppID: takeFirst(seed.AppID, uuid.New()),
|
||||
@@ -715,6 +716,34 @@ func OAuth2ProviderAppSecret(t testing.TB, db database.Store, seed database.OAut
|
||||
return app
|
||||
}
|
||||
|
||||
func OAuth2ProviderAppCode(t testing.TB, db database.Store, seed database.OAuth2ProviderAppCode) database.OAuth2ProviderAppCode {
|
||||
code, err := db.InsertOAuth2ProviderAppCode(genCtx, database.InsertOAuth2ProviderAppCodeParams{
|
||||
ID: takeFirst(seed.ID, uuid.New()),
|
||||
CreatedAt: takeFirst(seed.CreatedAt, dbtime.Now()),
|
||||
ExpiresAt: takeFirst(seed.CreatedAt, dbtime.Now()),
|
||||
SecretPrefix: takeFirstSlice(seed.SecretPrefix, []byte("prefix")),
|
||||
HashedSecret: takeFirstSlice(seed.HashedSecret, []byte("hashed-secret")),
|
||||
AppID: takeFirst(seed.AppID, uuid.New()),
|
||||
UserID: takeFirst(seed.UserID, uuid.New()),
|
||||
})
|
||||
require.NoError(t, err, "insert oauth2 app code")
|
||||
return code
|
||||
}
|
||||
|
||||
func OAuth2ProviderAppToken(t testing.TB, db database.Store, seed database.OAuth2ProviderAppToken) database.OAuth2ProviderAppToken {
|
||||
token, err := db.InsertOAuth2ProviderAppToken(genCtx, database.InsertOAuth2ProviderAppTokenParams{
|
||||
ID: takeFirst(seed.ID, uuid.New()),
|
||||
CreatedAt: takeFirst(seed.CreatedAt, dbtime.Now()),
|
||||
ExpiresAt: takeFirst(seed.CreatedAt, dbtime.Now()),
|
||||
HashPrefix: takeFirstSlice(seed.HashPrefix, []byte("prefix")),
|
||||
RefreshHash: takeFirstSlice(seed.RefreshHash, []byte("hashed-secret")),
|
||||
AppSecretID: takeFirst(seed.AppSecretID, uuid.New()),
|
||||
APIKeyID: takeFirst(seed.APIKeyID, uuid.New().String()),
|
||||
})
|
||||
require.NoError(t, err, "insert oauth2 app token")
|
||||
return token
|
||||
}
|
||||
|
||||
func must[V any](v V, err error) V {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
||||
Reference in New Issue
Block a user