A client side abstraction to efficiently get Open ID Connect tokens from uPortal
# install with npm
npm install @uportal/open-id-connect
# install with yarn
yarn add @uportal/open-id-connect
install with maven
<dependency>
<groupId>org.webjars.npm</groupId>
<artifactId>uportal__open-id-connect</artifactId>
<version>{version number goes here}</version>
</dependency>
install with gradle
compile 'org.webjars.npm:uportal__open-id-connect:{version number goes here}'
use with ES5
var oidc = require("@uportal/open-id-connect");
// with a promise
oidc
.default()
.then(function(token) {
console.log(token.encoded); // Raw JWT
console.log(token.decoded); // parsed JSON
})
.catch(function(err) {
console.error(err);
});
// with a callback
oidc.default({}, function(err, token) {
if (err) {
console.error(err);
return;
}
console.log(token.encoded);
console.log(token.decoded);
});
use with ES6+
import oicd from '@uportal/open-id-connect';
// with default values
try {
const {encoded, decoded} = await oidc();
console.log(encoded);
console.log(decoded);
} catch (err) {
console.error(err);
}
// with options
try {
const {encoded, decoded} = await oidc({
userInfoApiUrl: '/uPortal/api/v5-1/userinfo',
timeout: 5000,
propertyTransforms: {
example: JSON.parse
}
});
console.log(encoded);
console.log(decoded);
} catch (err) {
console.error(err);
}
oidc(options, callback); //-> Promise
- (optional) Options
- (optional) string
userInfoApiUrl
- URL for Open ID Connect endpoint - (optional) number timeout - time until token should be renewed
- (optional) object propertyTransforms - transforms to apply to specific properties
- string
key
- name of property to be transformed - function
value
- function to apply to property
- string
- (optional) string
- (optional) Callback
- Error
err
- null if resonse is okay, error object otherwise - Object
token
- object withencoded
anddecoded
keys- string
encoded
has the raw JSON Web Token - Object
decoded
has the parsed JSON object
- string
- Error
- Promise
- Object
resolve
token object- string
encoded
has the raw JSON Web Token - Object
decoded
has the parsed JSON object
- string
- Error
reject
reason Promise was rejected
- Object