Hi:
If i want a claim based identity that contains UPN claim, do I have to setup active directory?
Context: I was upgrading a SP2010 web app to SP2013, and i didnt setup windows AD, user just logon to sharepoint with windows account. I didnt create any custom STS neither.
After upgrade, my app got access deny error when trying to save tmp file in local file system. I guess this is beause of the claim based identity doesnt have privileges. So i configured C2WTS with maptowindows feature. Now, I am getting error saying IClaimsIdentity dose not contain UPN Claim. I tested and didnt find any upn claim within current claims identity. The claims collection i was looking at is
((Microsoft.IdentityModel.Claims.IClaimsIdentity)HttpContext.Current.User.Identity).Claims
How can I add UPN claim in security token? Do I have to setup active directory?
Thanks!
following is stack trace:
[SecurityTokenException: ID1054: The IClaimsIdentity did not contain a valid UPN Claim. The automatic Windows identity mapping feature requires exactly one non-empty UPN Claim to be provided.] Microsoft.IdentityModel.Tokens.WindowsMappingOperations.FindUpn(IClaimsIdentity claimsIdentity) +545 Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler.ValidateToken(SecurityToken token) +647 Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection.ValidateToken(SecurityToken token) +113 Microsoft.SharePoint.IdentityModel.SPFederationAuthenticationModule.AuthenticateUser(SecurityToken securityToken) +141 Microsoft.SharePoint.IdentityModel.SPFederationAuthenticationModule.SetPrincipalAndWriteSessionTokenWithOptions(SecurityToken securityToken, SPSessionTokenWriteType writeOperationType) +366 Microsoft.SharePoint.IdentityModel.<>c__DisplayClass5.<PerformClaimsAuthenticationForUser>b__1() +307 Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) +42853475 Microsoft.SharePoint.IdentityModel.SPWindowsClaimsAuthenticationHttpModule.PerformClaimsAuthenticationForUser(HttpContext context, SPFederationAuthenticationModule fam, SessionAuthenticationModule sam, WindowsIdentity windowsIdentity, SessionSecurityToken sessionSecurityToken, Boolean writeCookie) +334 Microsoft.SharePoint.IdentityModel.SPWindowsClaimsAuthenticationHttpModule.AuthenticateRequest(Object sender, EventArgs e) +672 System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165