Table of Contents

Class AuthenticationResultMetadata

Namespace
Microsoft.Identity.Client
Assembly
Microsoft.Identity.Client.dll

Contains metadata of the authentication result. Metrics for additional MSAL-wide metrics.

public class AuthenticationResultMetadata
Inheritance
AuthenticationResultMetadata
Inherited Members

Constructors

AuthenticationResultMetadata(TokenSource)

Constructor for the class AuthenticationResultMetadata

The token source.
public AuthenticationResultMetadata(TokenSource tokenSource)

Parameters

tokenSource TokenSource

Properties

CacheLevel

Indicates the type of cache that the token was read from.

public CacheLevel CacheLevel { get; set; }

Property Value

CacheLevel

CacheRefreshReason

Specifies the reason for fetching the access token from the identity provider.

public CacheRefreshReason CacheRefreshReason { get; set; }

Property Value

CacheRefreshReason

DurationInCacheInMs

Time, in milliseconds, MSAL spent during this request reading and writing to the token cache, i.e. in the OnBeforeAccess, OnAfterAccess, etc. callbacks. Does not include internal MSAL logic for searching through the cache once loaded.

public long DurationInCacheInMs { get; set; }

Property Value

long

DurationInHttpInMs

Time, in milliseconds, MSAL spent for HTTP communication during this request.

public long DurationInHttpInMs { get; set; }

Property Value

long

DurationTotalInMs

Time, in milliseconds, spent to service this request. Includes time spent making HTTP requests DurationInHttpInMs, time spent in token cache callbacks DurationInCacheInMs, time spent in MSAL and context switching.

public long DurationTotalInMs { get; set; }

Property Value

long

RefreshOn

Specifies the time when the cached token should be proactively refreshed. This value may be null if proactive refresh is not enabled.

public DateTimeOffset? RefreshOn { get; set; }

Property Value

DateTimeOffset?

RegionDetails

Contains the outcome of the region discovery if region was used.

public RegionDetails RegionDetails { get; set; }

Property Value

RegionDetails

Telemetry

May contain telemetry data.

public string Telemetry { get; set; }

Property Value

string

Remarks

Currently it is emitted only for desktop public client flows when the broker is used and it is also included in the verbose logs. May contain Personal Identifiable Information (PII), as per the logging settings. See https://aka.ms/msal-net-logging for more details about logging.

TokenEndpoint

The token endpoint used to contact the Identity Provider (e.g. Azure Active Directory). Can be null, for example when the token comes from the cache.

public string TokenEndpoint { get; set; }

Property Value

string

Remarks

This may be different from the endpoint you'd infer from the authority configured in the application object:

  • if regional auth is used.
  • if AAD instructs MSAL to use a different environment.
  • if the authority or tenant is overridden at the request level.
  • during a refresh_token operation, when MSAL must resolve "common" and "organizations" to a tenant ID.

TokenSource

The source of the token in the result.

public TokenSource TokenSource { get; }

Property Value

TokenSource