google ldap optimized authenticiation implementaiton
interface IGoogleLDAPAuthOptions {
/** base DN
* e.g. 'dc=hokify,dc=com', */
base: string;
tls: {
keyFile: string;
certFile: string;
};
/** tls options
* e.g. {
key: fs.readFileSync('ldap.gsuite.key'),
cert: fs.readFileSync('ldap.gsuite.crt')
} */
tlsOptions?: tls.TlsOptions;
}
Example
c = {
// GoogleLDAPAuth (optimized for google auth)
authentication: 'GoogleLDAPAuth',
authenticationOptions: {
base: 'dc=hokify,dc=com',
tls: {
keyFile: 'ldap.gsuite.key',
certFile: 'ldap.gsuite.crt'
}
}
};
ldap authentication
interface ILDAPAuthOptions {
/** ldap url
* e.g. ldaps://ldap.google.com
*/
url: string;
/** base DN
* e.g. 'dc=hokify,dc=com', */
base: string;
tls: {
keyFile: string;
certFile: string;
};
/** tls options
* e.g. {
servername: 'ldap.google.com'
} */
tlsOptions?: any;
/**
* searchFilter
*/
searchFilter?: string;
}
Example
c = {
authentication: 'LDAPAuth',
authenticationOptions: {
url: 'ldaps://ldap.google.com',
base: 'dc=hokify,dc=com',
tlsOptions: {
servername: 'ldap.google.com'
},
tls: {
keyFile: 'ldap.gsuite.key',
certFile: 'ldap.gsuite.crt'
}
}
};
imap authenticiation
interface IIMAPAuthOptions {
host: string;
port?: number;
useSecureTransport?: boolean;
validHosts?: string[];
}
Example
c = {
authentication: 'IMAPAuth',
authenticationOptions: {
host: 'imap.gmail.com',
port: 993,
useSecureTransport: true,
validHosts: ['hokify.com']
}
};
smtp authenticiation
interface ISMTPAuthOptions {
host: string;
port?: number;
useSecureTransport?: boolean;
validHosts?: string[];
}
Example
c = {
authentication: 'IMAPAuth',
authenticationOptions: {
host: 'smtp.gmail.com',
port: 465,
useSecureTransport: true,
validHosts: ['gmail.com']
}
};
static authenticiation
interface IStaticAuthOtions {
validCrentials: {
username: string;
password: string;
}[];
}
Example
c = {
authentication: 'StaticAuth',
authenticationOptions: {
validCredentials: [
{ username: 'test', password: 'pwd' },
{ username: 'user1', password: 'password' },
{ username: 'admin', password: 'cool' }
]
}
};
http authenticiation via http post request
interface IStaticAuthOtions {
url: string; // url to send a post request with username and password
}
Example
c = {
authentication: 'HTTPAuth',
authenticationOptions: {
url: 'https://my-website.com/api/backend-login'
}
};