本文整理汇总了TypeScript中idam/idamClient.IdamClient.retrieveUserFor方法的典型用法代码示例。如果您正苦于以下问题:TypeScript IdamClient.retrieveUserFor方法的具体用法?TypeScript IdamClient.retrieveUserFor怎么用?TypeScript IdamClient.retrieveUserFor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类idam/idamClient.IdamClient
的用法示例。
在下文中一共展示了IdamClient.retrieveUserFor方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: Cookies
ErrorHandling.apply(async (req: express.Request,
res: express.Response,
next: express.NextFunction): Promise<void> => {
const cookies = new Cookies(req, res)
let user
try {
const authenticationToken = await getAuthToken(req)
if (authenticationToken) {
user = await IdamClient.retrieveUserFor(authenticationToken)
res.locals.isLoggedIn = true
res.locals.user = user
setAuthCookie(cookies, authenticationToken)
}
} catch (err) {
return loginErrorHandler(req, res, cookies, next, err)
}
if (res.locals.isLoggedIn) {
if (isDefendantFirstContactPinLogin(req)) {
// re-set state cookie as it was cleared above, we need it in this case
cookies.set(stateCookieName, req.query.state)
return res.redirect(FirstContactPaths.claimSummaryPage.uri)
} else {
await claimStoreClient.linkDefendant(user)
res.redirect(await retrieveRedirectForLandingPage(req, res))
}
} else {
if (res.locals.code) {
trackCustomEvent('Authentication token undefined (jwt defined)',
{ requestValue: req.query.state })
}
res.redirect(OAuthHelper.forLogin(req, res))
}
}))
示例2: authorizationRequestHandler
async function authorizationRequestHandler (req: express.Request, res: express.Response, next: express.NextFunction) {
const jwt: string = JwtExtractor.extract(req)
if (jwt) {
try {
await IdamClient.retrieveUserFor(jwt)
res.locals.isLoggedIn = true
} catch (err) {
if (!hasTokenExpired(err)) {
next(err)
return
}
}
}
next()
}
示例3: return
return (req: express.Request, res: express.Response, next: express.NextFunction) => {
const jwt: string = JwtExtractor.extract(req)
if (isPathUnprotected(req.path)) {
logger.debug(`Unprotected path - access to ${req.path} granted`)
return next()
}
if (!jwt) {
logger.debug(`Protected path - no JWT - access to ${req.path} rejected`)
return accessDeniedCallback(req, res)
} else {
IdamClient
.retrieveUserFor(jwt)
.then((user: User) => {
if (!user.isInRoles(...requiredRoles)) {
logger.error(`Protected path - valid JWT but user not in ${requiredRoles} roles - redirecting to access denied page`)
return accessDeniedCallback(req, res)
} else {
res.locals.isLoggedIn = true
res.locals.user = user
logger.debug(`Protected path - valid JWT & role - access to ${req.path} granted`)
return next()
}
})
.catch((err) => {
if (hasTokenExpired(err)) {
const cookies = new Cookies(req, res)
cookies.set(sessionCookieName, '')
logger.debug(`Protected path - invalid JWT - access to ${req.path} rejected`)
return accessDeniedCallback(req, res)
}
return next(err)
})
}
}