// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System.Text.Json.Serialization;
namespace Microsoft.Teams.Apps.OAuth;
///
/// Value payload of the signin/failure invoke activity.
/// Sent by the Teams client when SSO token exchange fails client-side.
///
///
/// Known failure codes:
///
/// - installappfailedFailed to install the app in the user's personal scope.
/// - authrequestfailedThe SSO auth request failed after app installation.
/// - installedappnotfoundThe bot app is not installed for the user or group chat.
/// - invokeerrorA generic error occurred during the SSO invoke flow.
/// - resourcematchfailedThe token exchange resource URI does not match the Application ID URI in the Entra app's "Expose an API" section.
/// - oauthcardnotvalidThe bot's OAuthCard could not be parsed.
/// - tokenmissingAAD token acquisition failed.
/// - userconsentrequiredThe user needs to consent (usually handled via OAuth card fallback).
/// - interactionrequiredUser interaction is required (usually handled via OAuth card fallback).
///
///
public class SignInFailureValue
{
///
/// The failure code identifying the type of SSO failure.
///
[JsonPropertyName("code")]
public string? Code { get; set; }
///
/// A human-readable description of the failure.
///
[JsonPropertyName("message")]
public string? Message { get; set; }
}