DiscoverConfig initiates the initial metadata provider discovery while initializing the OpenID Connect client.
(ctx context.Context)
| 381 | |
| 382 | // DiscoverConfig initiates the initial metadata provider discovery while initializing the OpenID Connect client. |
| 383 | func (op *OIDCProvider) DiscoverConfig(ctx context.Context) (metadata ProviderMetadata, verifier *oidc.IDTokenVerifier, err error) { |
| 384 | discoveryURL := op.getDiscoveryEndpoint() |
| 385 | if !op.isStandardDiscovery() { |
| 386 | base.InfofCtx(ctx, base.KeyAuth, "Fetching provider config from explicitly defined discovery endpoint: %s", base.UD(discoveryURL)) |
| 387 | metadata, _, _, err = op.fetchCustomProviderConfig(ctx, discoveryURL) |
| 388 | if err != nil { |
| 389 | return ProviderMetadata{}, nil, err |
| 390 | } |
| 391 | verifier = op.generateVerifier(&metadata, GetOIDCClientContext(op.InsecureSkipVerify)) |
| 392 | } else { |
| 393 | metadata, verifier, err = op.standardDiscovery(ctx, discoveryURL) |
| 394 | } |
| 395 | return metadata, verifier, err |
| 396 | } |
| 397 | |
| 398 | // standardDiscovery uses the standard OIDC discovery endpoint (issuer + /.well-known/openid-configuration) to |
| 399 | // look up the OIDC provider configuration and returns provider metadata and ID token verifier. Provided discoveryURL |