Open1
axiosでCloud Runの認証をgetAccessTokenとかで突破しようとしてできなかった話
結論、素直にclient.request使うべし
無駄にaxiosにこだわり、とんでもない時間を浪費した
一応失敗コードを載せておく
const client = await auth.getClient();
const accessToken = await client.getAccessToken();
const client = await auth.getIdTokenClient(END_POINT_URL);
const accessToken = await client.getAccessToken();
とかで、
headers: {
Authorization: `Bearer ${accessToken.token}`,
}
こういうのとか色々頑張ったけど無理だった
AxiosError: Request failed with status code 401 at settle
Error: No refresh token or refresh handler callback is set. at IdTokenClient.getAccessTokenAsync
などどうやっても通らない
結論、シンプルにclient.request
を使おう
const auth = new GoogleAuth();
const client = await auth.getIdTokenClient(END_POINT_URL);
const response = await client.request({
method: "POST",
url: URL,
headers: {
hoge: hoge,
},
data: {
hogehoge: hogehoge,
},
});
axiosと書き方は全く変わらない(多分普通に使う分には)
時間を無駄にしました...