Firebase Authenticationでサポートされていないログイン プロバイダを使いたい場合に使うカスタムトークン。
基本的な使い方は「カスタム トークンを作成する」で確認できます。
サンプルを見るとこんな感じになっています。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import * as admin from 'firebase-admin'
const uid = 'some-uid';
const customToken = admin
.auth()
.createCustomToken(uid)
.then((customToken) => {
// Send token back to client
})
.catch((error) => {
console.log('Error creating custom token:', error);
});
|
すでに登録しているメールアドレスを使ってログインしたい場合にどすうるのか?
実際に存在するユーザーのUIDを取得する必要があります。
1
2
3
|
import * as admin from 'firebase-admin'
admin.auth().getUserByEmail('email addresss')
|
ただし、指定したユーザーのメールアドレスが取得出来ない場合はErrorがthrowされるので気をつけてください。
最終的にこんな感じで実装していあげるといいかと思います。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import * as admin from 'firebase-admin'
const email = 'some-email';
try {
const user = admin.auth().getUserByEmail(email)
const uid = user.uid
} catch (e) {
const uid = 'some-uid';
}
const customToken = admin
.auth()
.createCustomToken(uid)
.then((customToken) => {
// Send token back to client
})
.catch((error) => {
console.log('Error creating custom token:', error);
});
|