Definition
Assembly: Microsoft.OData.Mcp.Authentication.dll Namespace: Microsoft.OData.Mcp.Authentication.Outbound Inheritance: System.ObjectSyntax
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-basedSystem.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
objectSyntax
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 9207iss 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 asS256.
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 issuerhttps://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, ornull 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, ornull 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 formdevice_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
objectSyntax
Parameters
Returns
Type:bool
Equals Inherited
Inherited from
objectSyntax
Parameters
Returns
Type:bool
GetHashCode Inherited Virtual
Inherited from
objectSyntax
Returns
Type:int
GetType Inherited
Inherited from
objectSyntax
Returns
Type:System.Type
MemberwiseClone Inherited
Inherited from
objectSyntax
Returns
Type:object
ReferenceEquals Inherited
Inherited from
objectSyntax
Parameters
Returns
Type:bool
ToString Inherited Virtual
Inherited from
objectSyntax
Returns
Type:string?