Я использую Identity Server v2 вместе с SessionAuthenticationModule.
Я хотел бы добавить новое приложение OWIN (размещенное в IIS), которое может совместно использовать один и тот же файл cookie сеанса "idsrvauth" с моей существующей STS.
Как мне это сделать, пожалуйста?
- Может ли SessionAuthenticationModule расшифровать файл cookie сеанса и установить IPrincipal в приложении OWIN?
- Или мне следует использовать промежуточное ПО OWIN для этого? Существует ли промежуточное ПО или мне нужно будет написать новое?
У меня есть один и тот же machineKey в каждом web.config, но при доступе к сайту OWIN я получаю CryptographicException:
CryptographicException: Error occurred during a cryptographic operation.
System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func`2 func, Byte[] input) +246
System.IdentityModel.Services.MachineKeyTransform.Decode(Byte[] encoded) +200
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ApplyTransforms(Byte[] cookie, Boolean outbound) +173
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(XmlReader reader, SecurityTokenResolver tokenResolver) +752
System.IdentityModel.Tokens.SessionSecurityTokenHandler.ReadToken(Byte[] token, SecurityTokenResolver tokenResolver) +99
System.IdentityModel.Services.SessionAuthenticationModule.ReadSessionTokenFromCookie(Byte[] sessionCookie) +1233
System.IdentityModel.Services.SessionAuthenticationModule.TryReadSessionTokenFromCookie(SessionSecurityToken& sessionToken) +314
System.IdentityModel.Services.SessionAuthenticationModule.OnAuthenticateRequest(Object sender, EventArgs eventArgs) +243
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +165