简单的身份校验
本文介绍简单的身份校验示例场景及结果。
代码
收到客户端请求后,ER读取请求中携带的AUTH_HEADER_KEY
头,如果值和AUTH_HEADER_VALUE
一致则正常响应URL对应的文件,否则则拒绝该请求。
/**
* 在ER代码内置AUTH_HEADER_VALUE,用作简单的鉴权
* 客户端携带AUTH_HEADER_KEY的值如果和AUTH_HEADER_VALUE不一致则拒绝该请求
*/
const AUTH_HEADER_KEY = "AUTH_HEADER_KEY";
const AUTH_HEADER_VALUE = "Value-098372683";
async function handleRequest(request) {
const value = request.headers.get(AUTH_HEADER_KEY);
if (value === AUTH_HEADER_VALUE) {
// value和ER内置的AUTH_HEADER_VALUE一致,通过校验,请求url内容并返给客户端
return fetch(request.url);
}
// value和ER内置的AUTH_HEADER_VALUE不一致,拒绝该请求
return new Response("403", {
status: 403,
});
}
addEventListener("fetch", event => {
event.respondWith(handleRequest(event.request));
});
结果
请求时不带AUTH_HEADER_KEY
或者值错误,则拒绝该请求:
请求时携带正确的AUTH_HEADER_KEY
,则可以响应正常的内容: