@@ -340,6 +340,46 @@ func TestUserOIDC(t *testing.T) {
340
340
}
341
341
})
342
342
}
343
+
344
+ t .Run ("Disabled" , func (t * testing.T ) {
345
+ t .Parallel ()
346
+ client := coderdtest .New (t , nil )
347
+ resp := oidcCallback (t , client )
348
+ require .Equal (t , http .StatusPreconditionRequired , resp .StatusCode )
349
+ })
350
+
351
+ t .Run ("NoIDToken" , func (t * testing.T ) {
352
+ t .Parallel ()
353
+ client := coderdtest .New (t , & coderdtest.Options {
354
+ OIDCConfig : & coderd.OIDCConfig {
355
+ OAuth2Config : & oauth2Config {},
356
+ },
357
+ })
358
+ resp := oidcCallback (t , client )
359
+ require .Equal (t , http .StatusBadRequest , resp .StatusCode )
360
+ })
361
+
362
+ t .Run ("BadVerify" , func (t * testing.T ) {
363
+ t .Parallel ()
364
+ verifier := oidc .NewVerifier ("" , & oidc.StaticKeySet {
365
+ PublicKeys : []crypto.PublicKey {},
366
+ }, & oidc.Config {})
367
+
368
+ client := coderdtest .New (t , & coderdtest.Options {
369
+ OIDCConfig : & coderd.OIDCConfig {
370
+ OAuth2Config : & oauth2Config {
371
+ token : (& oauth2.Token {
372
+ AccessToken : "token" ,
373
+ }).WithExtra (map [string ]interface {}{
374
+ "id_token" : "invalid" ,
375
+ }),
376
+ },
377
+ Verifier : verifier ,
378
+ },
379
+ })
380
+ resp := oidcCallback (t , client )
381
+ require .Equal (t , http .StatusBadRequest , resp .StatusCode )
382
+ })
343
383
}
344
384
345
385
// createOIDCConfig generates a new OIDCConfig that returns a static token
0 commit comments