TypeProvider: {
config: ProviderConfigForClientType;
getConfigForClientType: (
input: {
clientType?: string;
tenantId: string;
userContext?: UserContext;
},
) => Promise<ProviderConfigForClientType>;
id: string;
} & (
| {
exchangeAuthCodeForOAuthTokens: (
input: {
redirectURIInfo: {
pkceCodeVerifier?: string;
redirectURIOnProviderDashboard: string;
redirectURIQueryParams: Record<string, string>;
};
tenantId: string;
userContext?: UserContext;
},
) => Promise<any>;
getAuthorisationRedirectURL: (
input: {
redirectURIOnProviderDashboard: string;
tenantId: string;
userContext?: UserContext;
},
) => Promise<{ pkceCodeVerifier?: string; urlWithQueryParams: string }>;
getUserInfo: (
input: {
oAuthTokens: any;
tenantId: string;
userContext?: UserContext;
},
) => Promise<UserInfo>;
type: "oauth2";
}
| {
getAuthorisationRedirectURL: (
input: {
redirectURIOnProviderDashboard: string;
tenantId: string;
userContext?: UserContext;
},
) => Promise<{ urlWithQueryParams: string }>;
getUserInfo: (
input: {
accessToken: string;
tenantId: string;
userContext?: UserContext;
},
) => Promise<UserInfo>;
type: "saml";
}
)