// Copyright (c) Duende Software. All rights reserved. // See LICENSE in the project root for license information. using IdentityModel; using Microsoft.AspNetCore.Authentication; using System.Text; using System.Text.Json; namespace Yavsc.Pages.Diagnostics; public class ViewModel { public ViewModel(AuthenticateResult result) { AuthenticateResult = result; if (result?.Properties?.Items.TryGetValue("client_list", out var encoded) == true) { if (encoded != null) { var bytes = Base64Url.Decode(encoded); var value = Encoding.UTF8.GetString(bytes); Clients = JsonSerializer.Deserialize(value) ?? Enumerable.Empty(); return; } } Clients = Enumerable.Empty(); } public AuthenticateResult AuthenticateResult { get; } public IEnumerable Clients { get; } }