@meistrari/auth-core 1.42.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -520,6 +520,56 @@ declare class SessionAssuranceService {
520
520
  completeOAuthStepUp(stepUpToken: string): Promise<OAuthCompleteStepUpResponse>;
521
521
  }
522
522
 
523
+ /**
524
+ * Options for signing in with a social provider (Google or Microsoft).
525
+ */
526
+ type SocialSignInOptions = {
527
+ /** The social identity provider to authenticate with. */
528
+ provider: 'google' | 'microsoft';
529
+ /** URL to redirect to after successful authentication. */
530
+ callbackURL: string;
531
+ /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
532
+ errorCallbackURL?: string;
533
+ /** Email address to preselect at the provider, sent as the `login_hint` authorization parameter. */
534
+ loginHint?: string;
535
+ };
536
+ /**
537
+ * Options for signing in via SAML Single Sign-On.
538
+ */
539
+ type SignInWithSamlOptions = {
540
+ /** The user's email address, used to resolve the correct SAML identity provider. */
541
+ email: string;
542
+ /** URL to redirect to after successful authentication. */
543
+ callbackURL: string;
544
+ /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
545
+ errorCallbackURL?: string;
546
+ };
547
+ /**
548
+ * Options for signing in with email and password credentials.
549
+ */
550
+ type SignInWithEmailAndPasswordOptions = {
551
+ /** The user's email address. */
552
+ email: string;
553
+ /** The user's password. */
554
+ password: string;
555
+ /** URL to redirect to after successful authentication. */
556
+ callbackURL: string;
557
+ };
558
+ /**
559
+ * Interactive login methods an environment can enable (`AUTH_LOGIN_METHODS`).
560
+ * Session-carrying mechanisms (JWT, API keys, application tokens) are not
561
+ * login methods.
562
+ */
563
+ declare const LOGIN_METHODS: readonly ["password", "google", "microsoft", "saml", "otp"];
564
+ type LoginMethod = typeof LOGIN_METHODS[number];
565
+ /**
566
+ * Response of the public `GET /login-methods` endpoint.
567
+ */
568
+ type LoginMethodsResponse = {
569
+ /** Login methods enabled in the environment, regardless of application. */
570
+ loginMethods: LoginMethod[];
571
+ };
572
+
523
573
  declare const DEFAULT_SESSION_ASSURANCE_CONFIG: ApplicationSessionAssuranceConfig;
524
574
  declare const DEFAULT_APPLICATION_CONFIG: {
525
575
  version: 1;
@@ -565,6 +615,11 @@ type ListCandidateOrganizationsResponse = FullOrganization[];
565
615
  type ApplicationAuthContextResponse = {
566
616
  /** Minimal application identity shown in the hosted auth flow. */
567
617
  application: Pick<Application, 'id' | 'name' | 'config'>;
618
+ /**
619
+ * Login methods usable for this application: the environment allowlist
620
+ * intersected with the application's accepted AMRs.
621
+ */
622
+ loginMethods: LoginMethod[];
568
623
  };
569
624
  /**
570
625
  * Response returned when starting an authorization flow.
@@ -3552,6 +3607,23 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
3552
3607
  }>;
3553
3608
  };
3554
3609
  };
3610
+ } | {
3611
+ id: "login-methods";
3612
+ getActions: ($fetch: better_auth_client.BetterFetch) => {
3613
+ loginMethods: {
3614
+ get: () => Promise<{
3615
+ data: null;
3616
+ error: {
3617
+ message?: string | undefined;
3618
+ status: number;
3619
+ statusText: string;
3620
+ };
3621
+ } | {
3622
+ data: LoginMethodsResponse;
3623
+ error: null;
3624
+ }>;
3625
+ };
3626
+ };
3555
3627
  } | {
3556
3628
  id: "email-otp";
3557
3629
  version: string;
@@ -5765,42 +5837,6 @@ declare class OrganizationService {
5765
5837
  removeTeamMember(teamId: string, userId: string): Promise<void>;
5766
5838
  }
5767
5839
 
5768
- /**
5769
- * Options for signing in with a social provider (Google or Microsoft).
5770
- */
5771
- type SocialSignInOptions = {
5772
- /** The social identity provider to authenticate with. */
5773
- provider: 'google' | 'microsoft';
5774
- /** URL to redirect to after successful authentication. */
5775
- callbackURL: string;
5776
- /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
5777
- errorCallbackURL?: string;
5778
- /** Email address to preselect at the provider, sent as the `login_hint` authorization parameter. */
5779
- loginHint?: string;
5780
- };
5781
- /**
5782
- * Options for signing in via SAML Single Sign-On.
5783
- */
5784
- type SignInWithSamlOptions = {
5785
- /** The user's email address, used to resolve the correct SAML identity provider. */
5786
- email: string;
5787
- /** URL to redirect to after successful authentication. */
5788
- callbackURL: string;
5789
- /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
5790
- errorCallbackURL?: string;
5791
- };
5792
- /**
5793
- * Options for signing in with email and password credentials.
5794
- */
5795
- type SignInWithEmailAndPasswordOptions = {
5796
- /** The user's email address. */
5797
- email: string;
5798
- /** The user's password. */
5799
- password: string;
5800
- /** URL to redirect to after successful authentication. */
5801
- callbackURL: string;
5802
- };
5803
-
5804
5840
  /**
5805
5841
  * Service for managing user authentication sessions.
5806
5842
  *
@@ -5871,6 +5907,13 @@ declare class SessionService {
5871
5907
  getToken(): Promise<{
5872
5908
  token: string;
5873
5909
  }>;
5910
+ /**
5911
+ * Lists the login methods enabled in the environment. Public; safe to call
5912
+ * before authentication to decide which sign-in options to render.
5913
+ *
5914
+ * @returns The enabled login methods
5915
+ */
5916
+ getLoginMethods(): Promise<("google" | "microsoft" | "password" | "saml" | "otp")[]>;
5874
5917
  /**
5875
5918
  * Initiates social authentication flow with Google or Microsoft.
5876
5919
  *
@@ -6381,5 +6424,5 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
6381
6424
  */
6382
6425
  declare function extractTokenPayload(token: string): DecodedJWTPayload;
6383
6426
 
6384
- export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6385
- export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
6427
+ export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6428
+ export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
package/dist/index.d.ts CHANGED
@@ -520,6 +520,56 @@ declare class SessionAssuranceService {
520
520
  completeOAuthStepUp(stepUpToken: string): Promise<OAuthCompleteStepUpResponse>;
521
521
  }
522
522
 
523
+ /**
524
+ * Options for signing in with a social provider (Google or Microsoft).
525
+ */
526
+ type SocialSignInOptions = {
527
+ /** The social identity provider to authenticate with. */
528
+ provider: 'google' | 'microsoft';
529
+ /** URL to redirect to after successful authentication. */
530
+ callbackURL: string;
531
+ /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
532
+ errorCallbackURL?: string;
533
+ /** Email address to preselect at the provider, sent as the `login_hint` authorization parameter. */
534
+ loginHint?: string;
535
+ };
536
+ /**
537
+ * Options for signing in via SAML Single Sign-On.
538
+ */
539
+ type SignInWithSamlOptions = {
540
+ /** The user's email address, used to resolve the correct SAML identity provider. */
541
+ email: string;
542
+ /** URL to redirect to after successful authentication. */
543
+ callbackURL: string;
544
+ /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
545
+ errorCallbackURL?: string;
546
+ };
547
+ /**
548
+ * Options for signing in with email and password credentials.
549
+ */
550
+ type SignInWithEmailAndPasswordOptions = {
551
+ /** The user's email address. */
552
+ email: string;
553
+ /** The user's password. */
554
+ password: string;
555
+ /** URL to redirect to after successful authentication. */
556
+ callbackURL: string;
557
+ };
558
+ /**
559
+ * Interactive login methods an environment can enable (`AUTH_LOGIN_METHODS`).
560
+ * Session-carrying mechanisms (JWT, API keys, application tokens) are not
561
+ * login methods.
562
+ */
563
+ declare const LOGIN_METHODS: readonly ["password", "google", "microsoft", "saml", "otp"];
564
+ type LoginMethod = typeof LOGIN_METHODS[number];
565
+ /**
566
+ * Response of the public `GET /login-methods` endpoint.
567
+ */
568
+ type LoginMethodsResponse = {
569
+ /** Login methods enabled in the environment, regardless of application. */
570
+ loginMethods: LoginMethod[];
571
+ };
572
+
523
573
  declare const DEFAULT_SESSION_ASSURANCE_CONFIG: ApplicationSessionAssuranceConfig;
524
574
  declare const DEFAULT_APPLICATION_CONFIG: {
525
575
  version: 1;
@@ -565,6 +615,11 @@ type ListCandidateOrganizationsResponse = FullOrganization[];
565
615
  type ApplicationAuthContextResponse = {
566
616
  /** Minimal application identity shown in the hosted auth flow. */
567
617
  application: Pick<Application, 'id' | 'name' | 'config'>;
618
+ /**
619
+ * Login methods usable for this application: the environment allowlist
620
+ * intersected with the application's accepted AMRs.
621
+ */
622
+ loginMethods: LoginMethod[];
568
623
  };
569
624
  /**
570
625
  * Response returned when starting an authorization flow.
@@ -3552,6 +3607,23 @@ declare function createAPIClient(apiUrl: string, fetchOptions?: BetterFetchOptio
3552
3607
  }>;
3553
3608
  };
3554
3609
  };
3610
+ } | {
3611
+ id: "login-methods";
3612
+ getActions: ($fetch: better_auth_client.BetterFetch) => {
3613
+ loginMethods: {
3614
+ get: () => Promise<{
3615
+ data: null;
3616
+ error: {
3617
+ message?: string | undefined;
3618
+ status: number;
3619
+ statusText: string;
3620
+ };
3621
+ } | {
3622
+ data: LoginMethodsResponse;
3623
+ error: null;
3624
+ }>;
3625
+ };
3626
+ };
3555
3627
  } | {
3556
3628
  id: "email-otp";
3557
3629
  version: string;
@@ -5765,42 +5837,6 @@ declare class OrganizationService {
5765
5837
  removeTeamMember(teamId: string, userId: string): Promise<void>;
5766
5838
  }
5767
5839
 
5768
- /**
5769
- * Options for signing in with a social provider (Google or Microsoft).
5770
- */
5771
- type SocialSignInOptions = {
5772
- /** The social identity provider to authenticate with. */
5773
- provider: 'google' | 'microsoft';
5774
- /** URL to redirect to after successful authentication. */
5775
- callbackURL: string;
5776
- /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
5777
- errorCallbackURL?: string;
5778
- /** Email address to preselect at the provider, sent as the `login_hint` authorization parameter. */
5779
- loginHint?: string;
5780
- };
5781
- /**
5782
- * Options for signing in via SAML Single Sign-On.
5783
- */
5784
- type SignInWithSamlOptions = {
5785
- /** The user's email address, used to resolve the correct SAML identity provider. */
5786
- email: string;
5787
- /** URL to redirect to after successful authentication. */
5788
- callbackURL: string;
5789
- /** URL to redirect to if authentication fails. Falls back to the API's default error page if not provided. */
5790
- errorCallbackURL?: string;
5791
- };
5792
- /**
5793
- * Options for signing in with email and password credentials.
5794
- */
5795
- type SignInWithEmailAndPasswordOptions = {
5796
- /** The user's email address. */
5797
- email: string;
5798
- /** The user's password. */
5799
- password: string;
5800
- /** URL to redirect to after successful authentication. */
5801
- callbackURL: string;
5802
- };
5803
-
5804
5840
  /**
5805
5841
  * Service for managing user authentication sessions.
5806
5842
  *
@@ -5871,6 +5907,13 @@ declare class SessionService {
5871
5907
  getToken(): Promise<{
5872
5908
  token: string;
5873
5909
  }>;
5910
+ /**
5911
+ * Lists the login methods enabled in the environment. Public; safe to call
5912
+ * before authentication to decide which sign-in options to render.
5913
+ *
5914
+ * @returns The enabled login methods
5915
+ */
5916
+ getLoginMethods(): Promise<("google" | "microsoft" | "password" | "saml" | "otp")[]>;
5874
5917
  /**
5875
5918
  * Initiates social authentication flow with Google or Microsoft.
5876
5919
  *
@@ -6381,5 +6424,5 @@ declare function validateToken(token: string, apiUrl: string): Promise<boolean>;
6381
6424
  */
6382
6425
  declare function extractTokenPayload(token: string): DecodedJWTPayload;
6383
6426
 
6384
- export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6385
- export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
6427
+ export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthBeginStepUpResponse, OAuthCompleteStepUpResponse, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SendOtpResponse, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceResponse, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, createAPIClient, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
6428
+ export type { APIClient, AcceptInvitationResult, AdminApplication, AdminApplicationEntitlement, AdminApplicationEntitlementRecord, AdminApplicationIdentity, AdminApplicationMember, AdminApplicationOrganization, AdminApplicationRecord, AdminApplicationRole, AdminApplicationSecret, AdminEntitlementRule, AdminEntitlementRuleType, AdminEntitlementWithRules, AdminMember, AdminOrganization, AdminOrganizationApplication, AdminOrganizationMember, AdminOrganizationMemberApplication, AdminOrganizationMemberRecord, AdminOrganizationMemberTeam, AdminOrganizationSummary, AdminOrganizationTeam, AdminOrganizationTeamRecord, AdminUser, AdminUserAccess, AdminUserAccessApplication, AdminUserAccessOrganization, AdminUserAccessTeam, AdminUserInvitation, AdminUserOrganization, ApiKey, ApiKeyWithoutSecret, Application, ApplicationAuthContextResponse, ApplicationTokenStorageOptions, AssuranceFields, BaseOrganization, BeginOAuthStepUpParams, BillingMode, ClientCredentialsGrant, ClientCredentialsTokenResponse, CompleteAuthorizationFlowResponse, CreateAdminApplicationEntitlementOptions, CreateAdminApplicationOptions, CreateAdminApplicationRoleOptions, CreateAdminApplicationSecretOptions, CreateAdminOrganizationOptions, CreateAdminOrganizationTeamOptions, CreateApiKeyPayload, CreateTeamPayload, CreatedAdminApplicationSecret, DecodedJWTPayload, DeleteAdminOrganizationTeamOptions, DeviceAuthorizationActionResponse, DeviceAuthorizationContextResponse, DeviceAuthorizationResponse, DeviceContextApplication, EmailOTPSignInOptions, FullOrganization, GetAdminOrganizationOptions, GetAdminOrganizationsSummaryOptions, GetTokenOptions, Invitation, InvitationPasswordSetupResult, InvitationSignupStatus, InviteAdminOrganizationUsersOptions, InviteAdminOrganizationUsersResult, InviteUserToOrganizationOptions, JWTPayloadData, ListAdminApplicationsOptions, ListAdminApplicationsResult, ListAdminOrganizationMembersOptions, ListAdminOrganizationMembersResult, ListAdminOrganizationTeamsOptions, ListAdminOrganizationTeamsResult, ListAdminOrganizationsOptions, ListAdminOrganizationsResult, ListAdminUsersOptions, ListAdminUsersResult, ListCandidateOrganizationsResponse, ListMembersOptions, ListOrganizationsOptions, ListOrganizationsWithRoleOptions, LoginMethod, LoginMethodsResponse, Member, NoncePayloadResponse, ExtendedOrganization as Organization, OrganizationSettings, OrganizationWithRole, RemoveAdminMemberOptions, RemoveUserFromOrganizationOptions, ResendAdminInviteOptions, Role, SendVerificationOTPOptions, Session, SessionAssuranceActions, SessionData, SetAdminEntitlementRulesOptions, SetAdminUserApplicationRoleOptions, SetAdminUserTeamOptions, SignInWithEmailAndPasswordOptions, SignInWithSamlOptions, SocialSignInOptions, StartAuthorizationFlowResponse, Strict, Team, TeamMember, TeamMembersResponse, UpdateAdminApplicationRoleOptions, UpdateAdminEntitlementOptions, UpdateAdminMemberRoleOptions, UpdateAdminOrganizationOptions, UpdateAdminOrganizationTeamOptions, UpdateApiKeyPayload, UpdateMemberRoleOptions, UpdateOrganizationPayload, UpdateTeamPayload, User, UserProfile, WhoAmIInclude, WhoAmIOptions, WhoAmIOrganization, WhoAmIResponse };
package/dist/index.mjs CHANGED
@@ -21,7 +21,7 @@ function isTokenExpired(token, expiresInMs) {
21
21
  return nowInSeconds > expirationTime;
22
22
  }
23
23
 
24
- const version = "1.42.0";
24
+ const version = "1.43.0";
25
25
 
26
26
  function parsedEnumValues(schema) {
27
27
  return Object.fromEntries(
@@ -438,6 +438,21 @@ function sessionAssurancePluginClient() {
438
438
  };
439
439
  }
440
440
 
441
+ function loginMethodsPluginClient() {
442
+ return {
443
+ id: "login-methods",
444
+ getActions: ($fetch) => {
445
+ return {
446
+ loginMethods: {
447
+ get: async () => {
448
+ return await $fetch("/login-methods", { method: "GET" });
449
+ }
450
+ }
451
+ };
452
+ }
453
+ };
454
+ }
455
+
441
456
  function createAPIClient(apiUrl, fetchOptions = {}) {
442
457
  const serviceName = typeof process !== "undefined" ? process.env.SERVICE_NAME : "";
443
458
  const userAgent = `auth-sdk:core:${version}${serviceName ? `@${serviceName}` : ""}`;
@@ -465,6 +480,7 @@ function createAPIClient(apiUrl, fetchOptions = {}) {
465
480
  }),
466
481
  applicationsPluginClient(),
467
482
  sessionAssurancePluginClient(),
483
+ loginMethodsPluginClient(),
468
484
  emailOTPClient()
469
485
  ],
470
486
  fetchOptions: {
@@ -1952,6 +1968,19 @@ class SessionService {
1952
1968
  async getToken() {
1953
1969
  return await this.client.token();
1954
1970
  }
1971
+ /**
1972
+ * Lists the login methods enabled in the environment. Public; safe to call
1973
+ * before authentication to decide which sign-in options to render.
1974
+ *
1975
+ * @returns The enabled login methods
1976
+ */
1977
+ async getLoginMethods() {
1978
+ const response = await this.client.loginMethods.get();
1979
+ if (!response.data) {
1980
+ throw new Error("No data returned from the API", { cause: response.error });
1981
+ }
1982
+ return response.data.loginMethods;
1983
+ }
1955
1984
  /**
1956
1985
  * Initiates social authentication flow with Google or Microsoft.
1957
1986
  *
@@ -2323,6 +2352,8 @@ const ApiKeyMetadata = z.object({
2323
2352
  }).optional().nullable()
2324
2353
  });
2325
2354
 
2355
+ const LOGIN_METHODS = ["password", "google", "microsoft", "saml", "otp"];
2356
+
2326
2357
  class AuthClient {
2327
2358
  /**
2328
2359
  * Configured Better Auth client used by the public service wrappers.
@@ -2524,4 +2555,4 @@ function extractTokenPayload(token) {
2524
2555
  return payload;
2525
2556
  }
2526
2557
 
2527
- export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
2558
+ export { AAL, AALBrand, AALs, ACR, ACRBrand, ACRs, AMR, AMRBrand, AMRs, ApiKeyMetadata, ApplicationConfig, ApplicationError, ApplicationSessionAssuranceConfig, ApplicationSessionAssuranceError, ApplicationTokenStorage, AuthClient, AuthMethod, AuthMethodBrand, AuthMethods, AuthorizationFlowError, DEFAULT_APPLICATION_CONFIG, DEFAULT_JWT_ASSURANCE, DEFAULT_SESSION_ASSURANCE_CONFIG, DeviceAccessDeniedError, DeviceAuthorizationPendingError, DeviceAuthorizationSlowDownError, DeviceCodeExpiredError, DeviceTransientServerError, EmailOTPService, EmailRequired, InvalidCallbackURL, InvalidSocialProvider, JWTPayload, JWTPayloadAssurance, JWTPayloadUser, JWTPayloadWorkspace, LOGIN_METHODS, OAuthStepUpProvider, RefreshTokenExpiredError, Roles, SENSITIVE_ACTION_ASSURANCE_POLICY, STEP_UP_MAX_AGE_SECONDS, SessionAssurancePolicy, SessionAssuranceRequiredError, SessionAssuranceRequiredPayload, SessionAssuranceService, StepUpOption, UserNotLoggedInError, ac, assuranceFields, canStepUpWithAmr, extractTokenPayload, getAalRank, invitationAdditionalFields, isAssuranceSufficientForPolicy, isSessionAssuranceSufficient, isTokenExpired, memberAdditionalFields, mergeStepUpAssurance, organizationAdditionalFields, parseSessionAssuranceRequiredPayload, rolesAccessControl, sessionAssurancePluginClient, userAdditionalFields, validateToken };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meistrari/auth-core",
3
- "version": "1.42.0",
3
+ "version": "1.43.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {