Skip to main content

Definition

Assembly: Microsoft.OData.Mcp.Authentication.dll Namespace: Microsoft.OData.Mcp.Authentication.Outbound Inheritance: System.Object

Syntax

Summary

The RFC 8414 authorization server metadata document, or its OpenID Connect discovery document counterpart, restricted to the endpoints, advertised grants and scopes, and PKCE / dynamic client registration capability flags outbound OAuth discovery actually reads.

Remarks

Deserialized exclusively through OutboundOAuthJsonContext; this type is never read with reflection-based System.Text.Json serialization (AOT: JSON source-gen; no reflection). Unknown fields the discovery document may carry (signing algorithms, UI locales, and similar) are intentionally not modeled here per specs/v3/AUTHENTICATION.md “Authentication outbound” type map.

Examples

Constructors

.ctor

Syntax

.ctor Inherited

Inherited from object

Syntax

Properties

AuthorizationEndpoint

Gets or sets the RFC 6749 authorization endpoint.

Syntax

Property Value

Type: System.Uri?

AuthorizationResponseIssParameterSupported

Gets or sets whether the authorization response carries the RFC 9207 iss parameter.

Syntax

Property Value

Type: System.Nullable<bool>?

ClientIdMetadataDocumentSupported

Gets or sets whether this server accepts a client id metadata document (CIMD) in place of a pre-registered client id.

Syntax

Property Value

Type: System.Nullable<bool>?

CodeChallengeMethodsSupported

Gets or sets the RFC 7636 PKCE code challenge methods this server accepts, such as S256.

Syntax

Property Value

Type: System.Collections.Generic.IList<string>?

DeviceAuthorizationEndpoint

Gets or sets the RFC 8628 device authorization endpoint.

Syntax

Property Value

Type: System.Uri?

GrantTypesSupported

Gets or sets the OAuth 2.0 / OpenID Connect grant types this server advertises.

Syntax

Property Value

Type: System.Collections.Generic.IList<string>?

Issuer

Gets or sets the issuer identifier, exactly as the document spells it.

Syntax

Property Value

Type: string?

Remarks

Deliberately a String rather than a Uri. RFC 8414 section 2 and RFC 9207 both compare issuer identifiers by simple string comparison, and Uri normalizes: it turns the authority-only issuer https://accounts.google.com into https://accounts.google.com/, which would make a conforming authorization server’s iss look like a mix-up attack. Use AuthorizationServerMetadata.IssuerUri where a URI is genuinely needed.

IssuerUri

Gets AuthorizationServerMetadata.Issuer as an absolute URI, or null when it is absent or is not an absolute URI.

Syntax

Property Value

Type: System.Uri?

Remarks

Never used for an issuer comparison — that is AuthorizationServerMetadata.Issuer’s job — only where a collaborator requires a Uri, such as the SDK identity assertion provider.

RegistrationEndpoint

Gets or sets the RFC 7591 dynamic client registration endpoint, or null when this server requires a pre-registered client id.

Syntax

Property Value

Type: System.Uri?

ResponseTypesSupported

Gets or sets the response types this server’s authorization endpoint accepts.

Syntax

Property Value

Type: System.Collections.Generic.IList<string>?

RevocationEndpoint

Gets or sets the RFC 7009 token revocation endpoint.

Syntax

Property Value

Type: System.Uri?

ScopesSupported

Gets or sets the scopes this server advertises.

Syntax

Property Value

Type: System.Collections.Generic.IList<string>?

TokenEndpoint

Gets or sets the RFC 6749 token endpoint.

Syntax

Property Value

Type: System.Uri?

TokenEndpointAuthMethodsSupported

Gets or sets the client authentication methods the token endpoint accepts.

Syntax

Property Value

Type: System.Collections.Generic.IList<string>?

Methods

AdvertisesGrant

Determines whether this server advertises a grant type, treating the RFC 8628 short form device_code and the ODataMcpAuthConstants.DeviceCodeGrantType URN as equivalent in either direction.

Syntax

Parameters

Returns

Type: bool true when AuthorizationServerMetadata.GrantTypesSupported contains an ordinal match for grantType, or its device-code counterpart; otherwise false.

Exceptions

Remarks

Advertised grant lists use either spelling depending on the authorization server, so a caller that asks for either one gets the same answer regardless of which spelling was actually published.

AdvertisesScope

Determines whether this server advertises a scope.

Syntax

Parameters

Returns

Type: bool true when AuthorizationServerMetadata.ScopesSupported contains an ordinal match for scope; otherwise false.

Exceptions

Equals Inherited Virtual

Inherited from object

Syntax

Parameters

Returns

Type: bool

Equals Inherited

Inherited from object

Syntax

Parameters

Returns

Type: bool

GetHashCode Inherited Virtual

Inherited from object

Syntax

Returns

Type: int

GetType Inherited

Inherited from object

Syntax

Returns

Type: System.Type

MemberwiseClone Inherited

Inherited from object

Syntax

Returns

Type: object

ReferenceEquals Inherited

Inherited from object

Syntax

Parameters

Returns

Type: bool

ToString Inherited Virtual

Inherited from object

Syntax

Returns

Type: string?