49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
namespace DysonNetwork.Shared.Models;
 | 
						|
 | 
						|
/// <summary>
 | 
						|
/// Represents the user information from an OIDC provider
 | 
						|
/// </summary>
 | 
						|
public class OidcUserInfo
 | 
						|
{
 | 
						|
    public string? UserId { get; set; }
 | 
						|
    public string? Email { get; set; }
 | 
						|
    public bool EmailVerified { get; set; }
 | 
						|
    public string FirstName { get; set; } = "";
 | 
						|
    public string LastName { get; set; } = "";
 | 
						|
    public string DisplayName { get; set; } = "";
 | 
						|
    public string PreferredUsername { get; set; } = "";
 | 
						|
    public string? ProfilePictureUrl { get; set; }
 | 
						|
    public string Provider { get; set; } = "";
 | 
						|
    public string? RefreshToken { get; set; }
 | 
						|
    public string? AccessToken { get; set; }
 | 
						|
 | 
						|
    public Dictionary<string, object> ToMetadata()
 | 
						|
    {
 | 
						|
        var metadata = new Dictionary<string, object>();
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(UserId))
 | 
						|
            metadata["user_id"] = UserId;
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(Email))
 | 
						|
            metadata["email"] = Email;
 | 
						|
 | 
						|
        metadata["email_verified"] = EmailVerified;
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(FirstName))
 | 
						|
            metadata["first_name"] = FirstName;
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(LastName))
 | 
						|
            metadata["last_name"] = LastName;
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(DisplayName))
 | 
						|
            metadata["display_name"] = DisplayName;
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(PreferredUsername))
 | 
						|
            metadata["preferred_username"] = PreferredUsername;
 | 
						|
 | 
						|
        if (!string.IsNullOrWhiteSpace(ProfilePictureUrl))
 | 
						|
            metadata["profile_picture_url"] = ProfilePictureUrl;
 | 
						|
 | 
						|
        return metadata;
 | 
						|
    }
 | 
						|
} |