feat: new auth mechnasimn via http post (#99)
* Added HTTP Authentication * Fixed sample config * Added filter by status codemaster
parent
1778948ee2
commit
279541a669
@ -0,0 +1,45 @@
|
||||
import axios from 'axios';
|
||||
import { IAuthentication } from '../types/Authentication';
|
||||
|
||||
interface IHTTPAuthOptions {
|
||||
url: string;
|
||||
}
|
||||
|
||||
export class HTTPAuth implements IAuthentication {
|
||||
private url: string;
|
||||
|
||||
constructor(config: IHTTPAuthOptions) {
|
||||
this.url = config.url;
|
||||
}
|
||||
|
||||
async authenticate(username: string, password: string) {
|
||||
let success = false;
|
||||
try {
|
||||
await axios
|
||||
.post(
|
||||
this.url,
|
||||
{
|
||||
username,
|
||||
password,
|
||||
},
|
||||
{
|
||||
validateStatus(status) {
|
||||
return status >= 200 && status < 500;
|
||||
},
|
||||
}
|
||||
)
|
||||
.then((res) => {
|
||||
console.log(`Code: ${res.status}`);
|
||||
if (res.status === 200) {
|
||||
success = true;
|
||||
console.log('Return code 200, HTTP authentication successful');
|
||||
} else {
|
||||
console.log('HTTP authentication failed');
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('HTTP response error');
|
||||
}
|
||||
return success;
|
||||
}
|
||||
}
|
Loading…
Reference in new issue