@c8y/client
Version:
Client application programming interface to access the Cumulocity IoT-Platform REST services.
33 lines • 973 B
JavaScript
const secrets = new WeakMap();
export class BearerAuth {
constructor(token) {
secrets.set(this, { token });
}
getFetchOptions(options) {
const token = this.getToken();
options.headers = Object.assign({ Authorization: `Bearer ${token}` }, options.headers);
return options;
}
updateCredentials({ token }) {
secrets.set(this, { token });
return;
}
getCometdHandshake(config = {}) {
const secret = secrets.get(this);
const { tfa } = secret;
const token = this.getToken();
const KEY = 'com.cumulocity.authn';
const ext = (config.ext = config.ext || {});
ext[KEY] = Object.assign(ext[KEY] || {}, { token, tfa });
return config;
}
logout() {
secrets.set(this, {});
}
getToken() {
const secret = secrets.get(this);
const { token } = secret;
return token;
}
}
//# sourceMappingURL=BearerAuth.js.map