You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-07 23:02:56 +03:00
Simplify OIDC types & export decodeIdToken
(#4193)
* Fix types Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> * Export `decodeIdToken` Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --------- Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
committed by
GitHub
parent
9ecb1a0381
commit
c4fe564855
@@ -15,7 +15,7 @@ limitations under the License.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import { jwtDecode } from "jwt-decode";
|
import { jwtDecode } from "jwt-decode";
|
||||||
import { OidcMetadata, SigninResponse } from "oidc-client-ts";
|
import { IdTokenClaims, OidcMetadata, SigninResponse } from "oidc-client-ts";
|
||||||
|
|
||||||
import { logger } from "../logger";
|
import { logger } from "../logger";
|
||||||
import { OidcError } from "./error";
|
import { OidcError } from "./error";
|
||||||
@@ -139,28 +139,7 @@ export function isValidatedIssuerMetadata(
|
|||||||
validateOIDCIssuerWellKnown(metadata);
|
validateOIDCIssuerWellKnown(metadata);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
export const decodeIdToken = (token: string): IdTokenClaims => {
|
||||||
* Standard JWT claims.
|
|
||||||
*
|
|
||||||
* @see https://datatracker.ietf.org/doc/html/rfc7519#section-4.1
|
|
||||||
*/
|
|
||||||
interface JwtClaims {
|
|
||||||
[claim: string]: unknown;
|
|
||||||
/** The "iss" (issuer) claim identifies the principal that issued the JWT. */
|
|
||||||
iss?: string;
|
|
||||||
/** The "sub" (subject) claim identifies the principal that is the subject of the JWT. */
|
|
||||||
sub?: string;
|
|
||||||
/** The "aud" (audience) claim identifies the recipients that the JWT is intended for. */
|
|
||||||
aud?: string | string[];
|
|
||||||
/** The "exp" (expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be accepted for processing. */
|
|
||||||
exp?: number;
|
|
||||||
// unused claims excluded
|
|
||||||
}
|
|
||||||
interface IdTokenClaims extends JwtClaims {
|
|
||||||
nonce?: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const decodeIdToken = (token: string): IdTokenClaims => {
|
|
||||||
try {
|
try {
|
||||||
return jwtDecode<IdTokenClaims>(token);
|
return jwtDecode<IdTokenClaims>(token);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -276,7 +255,7 @@ export type BearerTokenResponse = {
|
|||||||
expires_in?: number;
|
expires_in?: number;
|
||||||
// from oidc-client-ts
|
// from oidc-client-ts
|
||||||
expires_at?: number;
|
expires_at?: number;
|
||||||
id_token?: string;
|
id_token: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user