Skip to main content

AuthProfile

  • Namespace: PPDS.Auth.Profiles
  • Assembly: PPDS.Auth
  • Kind: Class

Summary

An authentication profile containing credentials and environment binding.

Members

Methods

Clone

AuthProfile Clone()

Creates a deep copy of this profile.

ToString

string ToString()

Returns a string representation of the profile.

Validate

void Validate()

Validates that the profile has required fields for its auth method.

Properties

ApplicationId

string ApplicationId { get; set; }

Gets or sets the application (client) ID. Required for service principal authentication.

AuthMethod

AuthMethod AuthMethod { get; set; }

Gets or sets the authentication method.

Authority

string Authority { get; set; }

Gets or sets the authority URL for authentication. Full URL like "https://login.microsoftonline.com/\{tenantId\}".

CertificatePath

string CertificatePath { get; set; }

Gets or sets the certificate file path. For CertificateFile authentication.

CertificateStoreLocation

string CertificateStoreLocation { get; set; }

Gets or sets the certificate store location. For CertificateStore authentication. Default: CurrentUser

CertificateStoreName

string CertificateStoreName { get; set; }

Gets or sets the certificate store name. For CertificateStore authentication. Default: My

CertificateThumbprint

string CertificateThumbprint { get; set; }

Gets or sets the certificate thumbprint. For CertificateStore authentication.

Cloud

CloudEnvironment Cloud { get; set; }

Gets or sets the cloud environment.

CreatedAt

DateTimeOffset CreatedAt { get; set; }

Gets or sets when the profile was created.

DisplayIdentifier

string DisplayIdentifier { get; }

Gets the display identifier (always includes index, e.g., "[1] MyProfile" or "[1]").

Environment

EnvironmentInfo Environment { get; set; }

Gets or sets the bound environment. Null for universal profiles (no environment selected).

HasEnvironment

bool HasEnvironment { get; }

Gets whether this profile has an environment bound.

HasName

bool HasName { get; }

Gets whether this profile has a name.

HomeAccountId

string HomeAccountId { get; set; }

Gets or sets the MSAL home account identifier. Format: {objectId}.{tenantId} - uniquely identifies the account+tenant for token cache lookup.

IdentityDisplay

string IdentityDisplay { get; }

Gets the identity string for display (username or application ID).

Index

int Index { get; set; }

Gets or sets the profile index (1-based, assigned on creation).

LastUsedAt

Nullable<DateTimeOffset> LastUsedAt { get; set; }

Gets or sets when the profile was last used.

Name

string Name { get; set; }

Gets or sets the profile name (optional, max 30 characters). Null for unnamed profiles (reference by index only).

ObjectId

string ObjectId { get; set; }

Gets or sets the Entra ID Object ID (user or service principal). Populated after successful authentication.

Puid

string Puid { get; set; }

Gets or sets the user's PUID from the JWT 'puid' claim.

TenantId

string TenantId { get; set; }

Gets or sets the tenant ID. Required for app-based authentication.

Username

string Username { get; set; }

Gets or sets the username for device code or password auth. Populated after successful authentication.