neo4j-client-sso
Version:
Single sign-on client (frontend) library for Neo4j products
64 lines (63 loc) • 1.75 kB
TypeScript
import { FetchError, NoProviderError, Success } from './discovery';
export interface SSOProviderOriginal {
id: string;
name: string;
auth_flow: string;
auth_endpoint: string;
token_endpoint?: string;
well_known_discovery_uri?: string;
params: {
client_id: string;
redirect_uri: string;
response_type: string;
scope: string;
};
auth_params?: Record<string, string>;
token_params?: Record<string, string>;
config?: {
implicit_flow_requires_nonce?: boolean;
principal?: string;
token_type_principal?: string;
token_type_authentication?: string;
code_challenge_method?: string;
};
visible: boolean;
}
export type SSOProvider4dot4Format = Omit<SSOProviderOriginal, 'params'> & {
redirect_uri: string;
params: {
client_id: string;
response_type: string;
scope: string;
};
};
export interface InitialisationParameters {
sso_redirect?: string;
auth_flow_step?: string;
idp_id?: string;
token_type?: string;
access_token?: string;
id_token?: string;
error_description?: string;
code?: string;
state?: string;
session_state?: string;
error?: string;
}
export interface Credentials {
username: string;
password: string;
}
export interface AuthRequestParams {
state: string;
nonce?: string;
code_challenge_method?: string;
code_challenge?: string;
}
export interface DiscoveryResult {
status: DiscoveryResultStatus;
message: string;
SSOProviders: SSOProviderOriginal[];
otherDataDiscovered: Record<string, unknown>;
}
export type DiscoveryResultStatus = typeof Success | typeof FetchError | typeof NoProviderError;