title: Is 'sub' claim part of openid scope or profile scope?
body: <p>As per the <a href="http://openid.net/specs/openid-connect-core-1_0.html" rel="nofollow noreferrer">OpenID Connect specification</a> is <code>sub</code> claim part of <code>openid</code> scope or <code>profile</code> scope? I could not find that information</p>
  
  <p><strong>Update1</strong><br>
  I am using IdentityServer3 for authentication. Client is making the request to the server as below. In response I don't get <code>sub</code> claim which is required as per the Open ID Connect specification. However response does include <code>http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier</code> which has same value as <code>sub</code> Is the <code>nameidentifier</code> same as <code>sub</code> claim.  </p>
  
  <p>Here is client request</p>
  
  <pre><code>    public void Configuration(IAppBuilder app)
      {
          app.UseCookieAuthentication(new CookieAuthenticationOptions
          {
              AuthenticationType = "Cookies"
          });
  
          app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
          {
              Authority = "https://localhost:44314/identity",
              Scope = "openid",
              ClientId = "LocalHostMvcClient",
              RedirectUri = "http://localhost:34937/",
              ResponseType = "id_token",
              SignInAsAuthenticationType = "Cookies",
          }
     }
  </code></pre>
  
  <p><strong>id_token response</strong></p>
  
  <p><a href="https://i.stack.imgur.com/m5ZyH.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/m5ZyH.png" alt="enter image description here"></a></p>
  
  <p><strong>Update 2</strong><br>
  based on the comments below I have updated client's startup file</p>
  
  <pre><code>    private void TurnOffMicrosoftJWTMapping()
      {
          //The long claim names come from Microsoft’s JWT handler trying to map some claim types to .NET’s ClaimTypes class types. 
          //We can turn off this behavior with the following line of code (in Startup).
          //This also means that we need to adjust the configuration for anti-CSRF protection to the new unique sub claim type:
          AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Subject;
          JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary&lt;string, string&gt;();
      }
  </code></pre>
  
  <p>and then call this method in client's startup</p>
  
  <pre><code>public class Startup
  {
      public void Configuration(IAppBuilder app)
      {
          TurnOffMicrosoftJWTMapping();
  
          //configure OpenIDConnect request here
      }
  }
  </code></pre>