Currently the spec says the client MUST request the openid offline_access scopes when exchanging the SAML assertion for refresh token.
It is likely, but not guaranteed, that the SAML assertion that the client has would already include the email address. (SAML can be configured to return opaque values for the NameId, and there is no guarantee the IdP would be configured to send an email attribute.)
If the SAML assertion did not have the email, you could argue the client should request the email scope because the ID-JAG will be visible to the client and would contain information beyond what is in the SAML assertion.
However, the purpose of including the email in the ID-JAG is for the benefit of the Resource AS, when it looks up users by email address from the SAML assertion. This behavior isn't necessarily known by the client, since it's about the relationship between the Resource AS and IdP.
So the question is whether we want to keep the text as is with the email claim being optional, or aim for better interoperability by suggesting/requiring that the client request the email scope.
Also note that if the IdP includes the sub_id property with the SAML NameId values, then the Resource AS likely won't need to rely on the email claim at all.
Currently the spec says the client MUST request the
openid offline_accessscopes when exchanging the SAML assertion for refresh token.It is likely, but not guaranteed, that the SAML assertion that the client has would already include the email address. (SAML can be configured to return opaque values for the
NameId, and there is no guarantee the IdP would be configured to send anemailattribute.)If the SAML assertion did not have the email, you could argue the client should request the email scope because the ID-JAG will be visible to the client and would contain information beyond what is in the SAML assertion.
However, the purpose of including the
emailin the ID-JAG is for the benefit of the Resource AS, when it looks up users by email address from the SAML assertion. This behavior isn't necessarily known by the client, since it's about the relationship between the Resource AS and IdP.So the question is whether we want to keep the text as is with the
emailclaim being optional, or aim for better interoperability by suggesting/requiring that the client request theemailscope.Also note that if the IdP includes the
sub_idproperty with the SAML NameId values, then the Resource AS likely won't need to rely on theemailclaim at all.