omniauth_saml с auth0 в качестве поставщика. Не удается получить user_metadata, он возвращает "[объект объекта]" - PullRequest
0 голосов
/ 26 апреля 2018

Я использую несколько IDPS. Один из них - OKTA, а другой - Auth0, но я обнаружил, что мне нужно немного больше информации о пользователе, который находится в user_metadata для auth0. Когда данные возвращаются и возвращаются как «[объектный объект]», я также использую devise.

devise.rb

config.omniauth :saml_okta,
name: :saml_okta,
strategy_class: ::OmniAuth::Strategies::SAML,
idp_cert_fingerprint: ENV['OKTA_CERT'],
idp_sso_target_url: ENV['OKTA_SSO']

config.omniauth :saml_auth0,
name: :saml_auth0,
strategy_class: ::OmniAuth::Strategies::SAML,
idp_cert_fingerprint: ENV['AUTH0_CERT'],
idp_sso_target_url: ENV['AUTH0_SSO'],
attribute_statements: {email: ['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'],
user_metadata: ['http://schemas.auth0.com/user_metadata/'] }

Но возвращаемые данные выглядят так:

provider: :saml_auth0
uid: foo@gmail.com
info: !ruby/hash:OmniAuth::AuthHash::InfoHash
  name: foo@gmail.com
  email: foo@gmail.com
  first_name:
  last_name:
  user_metadata: "[object Object]"

Как я могу получить user_metadata?

...