我正在使用node js和JavaScript实现API登录。我试图获取令牌,但控制台说:
Object:null prototype如下所示。
[Symbol(Response internals)]: {
url: 'https://URL(sensitive information)',
status: 200,
statusText: 'OK',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
字符串
下面是我的代码。
export const startKakaoLogin = (req, res) => {
const baseUrl = "https://kauth.kakao.com/oauth/authorize?";
const config = {
client_id: process.env.KA_ID,
redirect_uri: process.env.KA_RE,
response_type: "code",
prompt: "login",
};
const params = new URLSearchParams(config).toString();
const finalUrl = `${baseUrl}&${params}`;
return res.redirect(finalUrl);
};
export const finishKakaoLogin = async (req, res) => {
const baseUrl = "https://kauth.kakao.com/oauth/token";
const config = {
grant_type: "authorization_code",
client_id: process.env.KA_ID,
redirect_uri: process.env.KA_RE,
code: req.query.code,
};
const params = new URLSearchParams(config).toString();
const finalUrl = `${baseUrl}&${params}`;
const tokenRequest = await fetch(finalUrl, {
method: "POST",
headers: {
Accept: "application/x-www-form-urlencoded;charset=utf-8",
},
body: finalUrl,
});
console.log(tokenRequest);
};
型
另外,在参考文献中,使用了'curl',但我使用了'fetch',我做错了什么吗?
POST /oauth/token HTTP/1.1
Host: kauth.kakao.com
Content-type: application/x-www-form-urlencoded;charset=utf-8
curl -v -X POST "https://kauth.kakao.com/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=${REST_API_KEY}" \
--data-urlencode "redirect_uri=${REDIRECT_URI}" \
-d "code=${AUTHORIZE_CODE}"
型
1条答案
按热度按时间trnvg8h31#
您希望从端点获得什么?您现在只是记录Response object,并看到其内部的表示。
例如,要从响应正文中获取文本,您也需要解析它,这里使用
Response#text()
:字符串
如果你正在寻找JSON,那么使用
Response#json()
。型
但是,一定要检查响应的错误代码是否是您所期望的,例如
tokenRequest.ok
。