问题描述
浏览授权示例文档时,我是回传的新手。
AuthorizationContext:包含调用端点,请求上下文以及预期角色和作用域的当前主体。 遵循文档中提到的相同步骤,但是在调试时,我发现AuthorizationContext.prinicpals为空。 这是授权提供者
import {
AuthorizationContext,AuthorizationDecision,AuthorizationMetadata,Authorizer
} from '@loopback/authorization';
import {Provider} from '@loopback/core';
export class MyAuthorizationProvider implements Provider<Authorizer> {
constructor() {}
/**
* @returns authenticateFn
*/
value(): Authorizer {
return this.authorize.bind(this);
}
async authorize(
authorizationCtx: AuthorizationContext,Metadata: AuthorizationMetadata,) {
console.log(authorizationCtx);
const clientRole = authorizationCtx.principals[0].role;
const allowedRoles = Metadata.allowedRoles;
return allowedRoles?.includes(clientRole)
? AuthorizationDecision.ALLOW
: AuthorizationDecision.DENY;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)