コールバックの検証
について vcr オブジェクトを使用すると、アプリケーションが受け取るコールバックが Cloud Runtime プラットフォームからのものであるかどうかを検証できます。これはVonageアプリケーションの秘密鍵で署名されたJWTかどうかをチェックすることで行われます。Cloud Runtimeプラットフォームからインスタンスに行われるすべてのリクエストは、このトークンを Authorization ヘッダーを使用する。
メソッド署名
vcr.verifyAuth(token: string)
アプリケーションURLの取得
を使うことができる。 verifyAuth トークンが有効でない場合はエラーをスローします。
// Express Example
const authMiddleware = (req, res, next) => {
const token = req.headers['authorization'];
if (!token) {
return res.status(401).json({ error: 'Missing Authorization header' });
}
try {
vcr.verifyAuth(token);
next();
} catch (error) {
return res.status(401).json({ error: error.message });
}
};
# aiohttp Example
@web.middleware
async def auth_middleware(request, handler):
if request.path == '/_/health':
return await handler(request)
token = request.headers.get('authorization')
if not token:
raise web.HTTPUnauthorized(text='Missing Authorization header')
try:
vcr.verifyAuth(token)
except Exception as e:
raise web.HTTPUnauthorized(text='Invalid token')
return await handler(request)