Added directive support to getPublicKeys url function.

This commit is contained in:
John Shaver 2017-11-17 11:57:09 -08:00
parent 4d7167bee9
commit 4c9e70bd6f
1 changed files with 8 additions and 10 deletions

View File

@ -166,21 +166,19 @@ OAUTH3.urls.publicKeys = function(directive, opts) {
if(!directive) { if(!directive) {
throw new Error("You must supply directives and opts"); throw new Error("You must supply directives and opts");
} }
if(!directive.JWKs) { if(!directive.retrieve_jwk) {
//throw new Error("Provider does not support listing public keys."); throw new Error("Provider does not support retreiving public keys.");
} }
if(!opts || (!opts.session && !opts.sub)) { if(!opts || (!opts.session && !opts.sub)) {
throw new Error("You must supply options.session or a options.sub"); throw new Error("You must supply options.session or a options.sub");
} }
//TODO:
//TODO: get the proper directive once it's created!!
//TODO: Do we need to have sub strictly provided?
var sub = opts.sub || opts.session.token.sub
var hardCodedDir = "/api/issuer@oauth3.org/jwks/all/:sub";
var url = OAUTH3.url.resolve(directive.api, hardCodedDir)
url = url.replace(":sub", sub);
var method = opts.method || "GET"; var sub = opts.sub || opts.session.token.sub;
var dir = directive.retieve_jwk;
var url = OAUTH3.url.resolve(directive.api, dir.url)
.replace(":sub", sub);
var method = opts.method || dir.method || "GET";
return { return {
method: method method: method