Пользовательские утверждения провайдера в `AdditionalUserInfo.profile` не доступны через firebase admin? - PullRequest
1 голос
/ 28 сентября 2019

Я слежу за документами по файербазе / документам по идентификации для провайдера идентификации SAML.При успешном входе в систему результат перенаправления содержит атрибуты, полученные от провайдера:

provider = new firebase.auth.SAMLAuthProvider('saml.test-provider');
firebase.auth().signInWithRedirect(provider);

...

firebase.auth().getRedirectResult().then(function(result) {
  if (result.credential) {
    console.log(result.additionalUserInfo.profile)  // Custom provider claims, e.g., {"provider-foo":"bar"}
  }
} 

Из документов такие же значения также доступны через

  • result.user.getIdTokenResult().idTokenResult.claims.firebase.sign_in_attributes

  • firebase.sign_in_attributes

Похоже, эти же атрибуты нигде не хранятся в недоступном в firebase_admin SDK:

from firebase_admin import auth
user = auth.get_user(uid)
print(user.custom_claims) # => None ... *provider* claims aren't here
print(user.provider_data[0]) # => has `federatedId` and some others, but still no custom provider claims

Есть ли способ получить эту информацию в административном SDK?Есть ли способ узнать, сохранен ли он даже в Firebase?Нужно ли захватывать его в пожарном хранилище (и не будет ли это рискованно, поскольку пользователь может подделать претензии, исходящие от провайдера?)

Спасибо!

...