我想从事件中提取所使用的关联登录方法,例如 Google 或电子邮件/密码。
鉴于此处的 Google 文档用于获取用户和上下文信息,某些字段在
AuthBlockingEvent
数据类上不可用。
例如我可以提取以下内容:
from firebase_functions import https_fn, identity_fn, options
@identity_fn.before_user_signed_in()
def handle_user(
event: identity_fn.AuthBlockingEvent,
) -> identity_fn.BeforeSignInResponse | None:
email = event.data.email
uid = event.data.uid
event_id = event.event_id
event_type = event.credential
但是,偶数签名上确实存在以下内容。
from firebase_functions import https_fn, identity_fn, options
@identity_fn.before_user_signed_in()
def handle_user(
event: identity_fn.AuthBlockingEvent,
) -> identity_fn.BeforeSignInResponse | None:
event_type = event.event_type
auth_type = event.auth_type
resource = event.resource
# etc
我还在官方存储库上提出了一个问题https://github.com/firebase/firebase-functions-python/issues/180
我认为我能够从
additional_user_info.provider_id
获取我想要的信息,例如可以是google.com
或password
,具体取决于用户登录的方式
@identity_fn.before_user_signed_in()
def handle_user(
event: identity_fn.AuthBlockingEvent,
) -> identity_fn.BeforeSignInResponse | None:
sign_in_provider = event.additional_user_info.provider_id