I am using Owin and Identity and I am having a problem with Claims.
I have applications where users use an email to authenticate and others that use an username.
If you examine what Facebook or Google return from oAuth you will see that ClaimTypes.Name
is ClaimTypes.GivenName + ClaimTypes.Surname
. LinkedIn returns then concatenated and I believe this is a bug because I have a completely different username there. Twitter returns username for ClaimTypes.Name
, but Twitter is a special case and they do not even return email.
All of them are using some opaque numeric identifier for ClaimTypes.NameIdentifier
. And they use their own string names, usually starting with urn:facebook:link
, urn:google:profile
, etc for custom data.
Asp.NET Identity model uses UserName for ClaimTypes.Name
. The bottom line is that ClaimTypes.Name
is used differently in practice. You could add any claim name as a string and could add the urn:...
scheme to make it unambiguous.