我的应用结构要求我使用特定的Uid
登录用户。
我可以在Firebase Auth。
中执行此操作我的意思是,如果我想创建一个uid=1
的用户。
我将发送电子邮件和密码。
有可能吗?
答案 0 :(得分:0)
您不需要使用特定的Uid登录用户,Firebase Authentication会为您执行此操作。
好处是您不需要创建自己的authentication mechanism
而且您不需要维护它,因为Firebase已经提供了这一点。请阅读上面链接中提到的官方文档。
希望它有所帮助。
答案 1 :(得分:0)
如果您使用自定义令牌进行身份验证,则可以为Firebase用户设置UID。 看到这个https://firebase.google.com/docs/auth/admin/create-custom-tokens#create_custom_tokens_using_a_third-party_jwt_library
以下是使用Ruby(:uid => uid
)的示例
require "jwt"
# Get your service account's email address and private key from the JSON key file
$service_account_email = "service-account@my-project-abc123.iam.gserviceaccount.com"
$private_key = OpenSSL::PKey::RSA.new "-----BEGIN PRIVATE KEY-----\n..."
def create_custom_token(uid, is_premium_account)
now_seconds = Time.now.to_i
payload = {:iss => $service_account_email,
:sub => $service_account_email,
:aud => "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
:iat => now_seconds,
:exp => now_seconds+(60*60), # Maximum expiration time is one hour
:uid => uid,
:claims => {:premium_account => is_premium_account}}
JWT.encode payload, $private_key, "RS256"
end
答案 2 :(得分:0)
有一种使用管理 SDK 创建自定义 uid
的方法,但我不确定用户名/密码部分:https://firebase.google.com/docs/auth/admin/create-custom-tokens#create_custom_tokens_using_the_firebase_admin_sdk
const uid = 'some-uid';
admin
.auth()
.createCustomToken(uid)
.then((customToken) => {
// Send token back to client
})
.catch((error) => {
console.log('Error creating custom token:', error);
});