Skip to content

`false` values not displayed in id_token

Some issue which i found during email or phone confirmation Sometimes email_verified and phone_verified can be false When it's false we don't see this claims in id_token

Place where it can happened:

oidc.rb,

def proxy_get_param(get_param_func, claims, claims_locales, additional_claims_info)
      meth = method(get_param_func)
      if meth.arity == 2
        lambda do |account, param, cl = claims|
          additional_info = additional_claims_info[param] || EMPTY_HASH
          value = additional_info["value"] || meth[account, param]
          # here `value` can be eql `false` for `email_verified` or `phone_verified` fields
          value = nil if additional_info["values"] && additional_info["values"].include?(value)
          cl[param] = value if value # this condition won't work in case when value eql `false` maybe need to add `.nil?` method 
        end
      elsif claims_locales.nil?
...some code here...
end