Skip to content

UserInfo

Constructs a request to the UserInfo endpoint.

import { buildUserinfoRequest } from "oidc-js-core";
const req = buildUserinfoRequest(discovery, accessToken);
// req = { url, method: "GET", headers: { Authorization: "Bearer ..." } }
const response = await fetch(req.url, { headers: req.headers });

Parameters:

NameTypeDescription
discoveryOidcDiscoveryParsed discovery document
accessTokenstringA valid access token

Returns: HttpRequest

Validates the UserInfo response and returns an OidcUser.

import { parseUserinfoResponse } from "oidc-js-core";
const data = await response.json();
const user = parseUserinfoResponse(data);
// user.sub, user.email, user.name, etc.

Parameters:

NameTypeDescription
dataunknownRaw JSON response from the UserInfo endpoint

Returns: OidcUser

interface OidcUser {
sub: string;
email?: string;
name?: string;
preferred_username?: string;
[claim: string]: unknown; // Any additional claims
}

The sub claim is always present (required by the OIDC spec). All other fields depend on the scopes requested and the IdP’s configuration.