oidc-provider
Version:
OAuth 2.0 Authorization Server implementation for Node.js with OpenID Connect
22 lines (20 loc) • 736 B
JavaScript
import instance from '../../helpers/weak_cache.js';
import als from '../../helpers/als.js';
export default (provider, formats) => ({
generateTokenId(...args) {
const resolver = instance(provider).dynamic[this.constructor.name];
const format = resolver(als.getStore(), this);
if (!formats[format] || format === 'dynamic') {
throw new Error('invalid format resolved');
}
this.format = format;
return formats[format].generateTokenId.apply(this, args);
},
async getValueAndPayload(...args) {
const { format } = this;
if (!formats[format] || format === 'dynamic') {
throw new Error('invalid format resolved');
}
return formats[format].getValueAndPayload.apply(this, args);
},
});