在Firebase Cloud函数中解压缩OAuth2响应



由于显然没有办法在Flutter Web中实现完成OAuth2代码大流的方法(因为这个问题(,作为一种解决方法,我使用firebase云函数来检索令牌。基本上,重定向URL是一个云函数,它应该捕获令牌并将其存储在firestore中。我正在尝试识别字段,然后先将它们打印到控制台。这是我的功能:

export const printRequest = functions.https.onRequest((request, response) => {
functions.logger.info("Hello logs!", { structuredData: true });
console.log("Hello from Firebase! headers:" + request.headers + ", body:cd" + request.body + " and " + request.params);
console.log(request.body)
cors(request, response, async () => {
const body = request.body;
console.log("access token")
console.log(body.access_token)
})
response.send("All done");
});

在Firebase云功能控制台中,读起来像这样:

>Hello from Firebase! headers:[object Object], body:cd[object Object] and [object Object] 
>undefined

如何解压缩服务器响应?

如果你尝试这样的东西怎么办:

console.log(JSON.stringify(request.body));

完整示例

原来令牌只是一个URL参数,所以获取它只是拆分字符串的问题。

export const printRequest = functions.https.onRequest((request, response) => {
let urele = request.url.split("code=")[1];
console.log("final code " + urele.toString().split("&")[0]);
console.log(request.read.toString);
cors(request, response, async () => {
const body = request.body;
console.log(body);
});
response.send("All done");
});

相关内容

  • 没有找到相关文章

最新更新