| File: AccessTokenResponse.cs | Web Access |
| Project: src\aspnetcore\src\Security\Authentication\BearerToken\src\Microsoft.AspNetCore.Authentication.BearerToken.csproj (Microsoft.AspNetCore.Authentication.BearerToken) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Text.Json; namespace Microsoft.AspNetCore.Authentication.BearerToken; /// <summary> /// The JSON data transfer object for the bearer token response typically found in "/login" and "/refresh" responses. /// </summary> public sealed class AccessTokenResponse { /// <summary> /// The value is always "Bearer" which indicates this response provides a "Bearer" token /// in the form of an opaque <see cref="AccessToken"/>. /// </summary> /// <remarks> /// This is serialized as "tokenType": "Bearer" using <see cref="JsonSerializerDefaults.Web"/>. /// </remarks> public string TokenType { get; } = "Bearer"; /// <summary> /// The opaque bearer token to send as part of the Authorization request header. /// </summary> /// <remarks> /// This is serialized as "accessToken": "{AccessToken}" using <see cref="JsonSerializerDefaults.Web"/>. /// </remarks> public required string AccessToken { get; init; } /// <summary> /// The number of seconds before the <see cref="AccessToken"/> expires. /// </summary> /// <remarks> /// This is serialized as "expiresIn": "{ExpiresInSeconds}" using <see cref="JsonSerializerDefaults.Web"/>. /// </remarks> public required long ExpiresIn { get; init; } /// <summary> /// If set, this provides the ability to get a new access_token after it expires using a refresh endpoint. /// </summary> /// <remarks> /// This is serialized as "refreshToken": "{RefreshToken}" using using <see cref="JsonSerializerDefaults.Web"/>. /// </remarks> public required string RefreshToken { get; init; } }