认证
Authz是长老会的一个简单而可扩展的授权模块. 它提供了一种授权接听电话和API电话的方式.
该模块有一个简单的界面,允许您创建授权策略. 这包括核实是否授权某会话,是否授权采用GRPC方法,向某一账户收取费用并获得账户余额.
该接口的定义如下:
type AuthzHandler = {
checkSessionAuthorized(request: VoiceRequest): Promise<boolean>;
checkMethodAuthorized(
request: CheckMethodAuthorizedRequest
): Promise<boolean>;
addBillingMeterEvent(request: AddBillingMeterEventRequest): Promise<void>;
};
请看 杜米·奥思汉德勒 以实施您的授权战略为例.
启用 Authz 模块
要启用 Authz 模块,您需要设置 AUTHZ_SERVICE_ENABLED 环境变量改为 true而且,你需要的是一个 AUTHZ_SERVICE_HOST (必须), AUTHZ_SERVICE_PORT (违约)和 AUTHZ_SERVICE_METHODS (默认为 /fonoster.calls.v1beta2.Calls/CreateCall) 环境变量.
想象一下你想授权创建新的工作空间。 你可以添加一个 /fonoster.identity.v1beta2.Identity/CreateWorkspace 方法 AUTHZ_SERVICE_METHODS 环境变量和执行 checkMethodAuthorized 在你的奥施汉德勒.