流程:
1.云函数生成 token 返回给前端。
2.前端请求时带上 token 。
3.云函数中根据 ctx.user 来判断是否传 token 是否过期。
示例代码:
1.云函数生成 token 返回给前端。
import cloud from '@lafjs/cloud'
export async function main(ctx: FunctionContext) {
const payload = {
uid: 1,
exp: Math.floor(Date.now() / 1000) + 10,
};
const access_token = cloud.getToken(payload);
return { access_token }
}
2.前端请求时带上 token 。
第一种使用 laf-client-sdk.
import { Cloud } from "laf-client-sdk";
import axios from "axios";
const cloud = new Cloud({
baseUrl: "https://a3uvbk.laf.dev",
getAccessToken: () => localStorage.getItem("access_token"),
});
const res = await cloud.invoke("test");
第二种通过 axios
import axios from "axios";
const token = localStorage.getItem("access_token");
axios({
method: "get",
url: "functionUrl",
headers: {
Authorization: `token ${token}`,
},
})
3.云函数中根据 ctx.user 来判断是否传 token 是否过期。
import cloud from '@lafjs/cloud'
export async function main(ctx: FunctionContext) {
console.log(ctx.user)
}