omn​​iauth_saml,auth0作为提供者。无法获取user_metadata返回“[object Object]”

时间:2018-04-26 20:02:46

标签: ruby-on-rails omniauth saml auth0

我正在使用多个idps。一个是OKTA,一个是Auth0,但我发现我需要更多关于用户的信息,该信息位于auth0的user_metadata中。当数据返回时它返回“[object Object]”我也在使用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?

0 个答案:

没有答案