Open4
フロントエンドの開発前にFirebase Authenticationのトークンを取得したい
タイトルにある通りのことをPostmanを利用して行いたい。
メールアドレス、パスワードでの認証を行い、トークンを取得したい
→今回は ”ID”トークンの取得 を目的とする
- Firebase Auth REST APIのメールアドレス・パスワード認証のエンドポイント
https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=[API_KEY]
- リクエストペイロード
- メールアドレス
- パスワード
- returnSecureToken
- ID・リフレッシュトークンを返すかどうか
- 常にtrueをセットしておく必要あり
- レスポンスペイロード
- 一旦無視で
参考にしたページ
最終的なPre-request Script
- 環境変数リスト
- API_KEY:Firebaseプロジェクトの設定画面から取得
- AUTH_EMAIL, AUTH _PASSWORD:ユーザーの認証情報
- FIREBASE_ID_TOKEN:これをリクエストヘッダに入れて、アプリケーションのバックエンドの認証が必要なAPIを利用する
const postRequest={
url: 'https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword?key=' + pm.environment.get('API_KEY'),
method: 'POST',
body: {
mode: 'raw',
raw: JSON.stringify({
email: pm.environment.get('AUTH_EMAIL'),
password: pm.environment.get('AUTH_PASSWORD'),
returnSecureToken: true
}),
},
header: {
'Content-Type': 'application/json'
},
};
pm.sendRequest(postRequest, function (error, response) {
if (error) {
console.log(error);
}
const json = response.json();
pm.test('response has idToken', () => {
pm.expect(json).to.have.own.property('idToken');
const idToken = json.idToken;
console.log('idToken', idToken);
pm.environment.set('FIREBASE_ID_TOKEN', idToken);
});
});