mirror of
https://github.com/freedbygrace/ActiveDirectoryManager.git
synced 2026-08-10 18:58:35 +00:00
Add LDAP and OpenID Connect authentication
Replit-Commit-Author: Agent Replit-Commit-Session-Id: 705f2157-ef97-4fbd-89e4-8c7f2ecaea90 Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/7ed01c5f-a82d-405a-b728-b2e3d127c60c/f53b9394-0261-478c-aa14-813efc485813.jpg
This commit is contained in:
Vendored
+47
@@ -0,0 +1,47 @@
|
||||
declare module 'passport-ldapauth' {
|
||||
import { Strategy as PassportStrategy } from 'passport';
|
||||
|
||||
export interface LdapAuthOptions {
|
||||
server: {
|
||||
url: string;
|
||||
bindDN?: string;
|
||||
bindCredentials?: string;
|
||||
searchBase: string;
|
||||
searchFilter: string;
|
||||
searchAttributes?: string[];
|
||||
tlsOptions?: {
|
||||
rejectUnauthorized?: boolean;
|
||||
};
|
||||
};
|
||||
usernameField?: string;
|
||||
passwordField?: string;
|
||||
passReqToCallback?: boolean;
|
||||
}
|
||||
|
||||
export type VerifyCallback = (
|
||||
err?: Error | null,
|
||||
user?: object,
|
||||
info?: object
|
||||
) => void;
|
||||
|
||||
export type VerifyFunction = (
|
||||
user: any,
|
||||
verified: VerifyCallback
|
||||
) => void;
|
||||
|
||||
export type VerifyFunctionWithRequest = (
|
||||
req: object,
|
||||
user: any,
|
||||
verified: VerifyCallback
|
||||
) => void;
|
||||
|
||||
export default class Strategy extends PassportStrategy {
|
||||
constructor(
|
||||
options: LdapAuthOptions,
|
||||
verify?: VerifyFunction | VerifyFunctionWithRequest
|
||||
);
|
||||
|
||||
name: string;
|
||||
authenticate(req: object, options?: object): void;
|
||||
}
|
||||
}
|
||||
+75
@@ -0,0 +1,75 @@
|
||||
declare module 'passport-openidconnect' {
|
||||
import { Strategy as PassportStrategy } from 'passport';
|
||||
|
||||
export interface Profile {
|
||||
id: string;
|
||||
displayName?: string;
|
||||
name?: {
|
||||
familyName?: string;
|
||||
givenName?: string;
|
||||
middleName?: string;
|
||||
};
|
||||
emails?: Array<{ value: string; type?: string }>;
|
||||
photos?: Array<{ value: string }>;
|
||||
username?: string;
|
||||
_json: any;
|
||||
_raw: string;
|
||||
}
|
||||
|
||||
export interface StrategyOptions {
|
||||
issuer?: string;
|
||||
authorizationURL?: string;
|
||||
tokenURL?: string;
|
||||
userInfoURL?: string;
|
||||
clientID: string;
|
||||
clientSecret: string;
|
||||
callbackURL: string;
|
||||
scope?: string | string[];
|
||||
passReqToCallback?: false;
|
||||
}
|
||||
|
||||
export interface StrategyOptionsWithRequest {
|
||||
issuer?: string;
|
||||
authorizationURL?: string;
|
||||
tokenURL?: string;
|
||||
userInfoURL?: string;
|
||||
clientID: string;
|
||||
clientSecret: string;
|
||||
callbackURL: string;
|
||||
scope?: string | string[];
|
||||
passReqToCallback: true;
|
||||
}
|
||||
|
||||
export type VerifyCallback = (
|
||||
err?: Error | null,
|
||||
user?: object,
|
||||
info?: object
|
||||
) => void;
|
||||
|
||||
export type VerifyFunction = (
|
||||
issuer: string,
|
||||
profile: Profile,
|
||||
verified: VerifyCallback
|
||||
) => void;
|
||||
|
||||
export type VerifyFunctionWithRequest = (
|
||||
req: object,
|
||||
issuer: string,
|
||||
profile: Profile,
|
||||
verified: VerifyCallback
|
||||
) => void;
|
||||
|
||||
export class Strategy extends PassportStrategy {
|
||||
constructor(
|
||||
options: StrategyOptions,
|
||||
verify: VerifyFunction
|
||||
);
|
||||
constructor(
|
||||
options: StrategyOptionsWithRequest,
|
||||
verify: VerifyFunctionWithRequest
|
||||
);
|
||||
|
||||
name: string;
|
||||
authenticate(req: object, options?: object): void;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user