我正在使用多个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?