@{ ViewData["Title"] = "Account Info"; var pictureUrl = User.Claims.FirstOrDefault(c => c.Type == "picture")?.Value ?? "123"; }

Account Info

@if (!string.IsNullOrEmpty(pictureUrl)) { Profilbild } else {
@(User.Identity?.Name?.Substring(0,1).ToUpper() ?? "?")
}

@(User.FindFirst("name")?.Value ?? "Unbekannter Nutzer")

Username @(@User.Claims.FirstOrDefault(c => c.Type == "preferred_username")?.Value ?? "Nicht verfügbar")
E-Mail @(@User.Claims.FirstOrDefault(c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")?.Value ?? "Nicht verfügbar")
Benutzer-ID @(User.FindFirst("sub")?.Value ?? "Nicht verfügbar")
Login-Zeit @(User.FindFirst("iat") != null ? DateTimeOffset.FromUnixTimeSeconds(long.Parse(User.FindFirst("iat").Value)).ToLocalTime().ToString() : "Nicht verfügbar")
Token läuft ab @(User.FindFirst("exp") != null ? DateTimeOffset.FromUnixTimeSeconds(long.Parse(User.FindFirst("exp").Value)).ToLocalTime().ToString() : "Nicht verfügbar")
Rollen @{ var roles = User.FindAll("role").Select(r => r.Value); if (!roles.Any()) { Keine Rollen } else {
    @foreach (var role in roles) {
  • @role
  • }
} }

Alle Claims