Hi fellow developers!
I've developed a MVC site that authenticates using OpenId or OpenAuth
(Facebook).
Everything was working fine, until I had to host it in Rackspace (this
is a requirement of my customer).
I get the following exception when trying to initialize either client:
[TypeLoadException: Inheritance security rules violated while
overriding member:
'DotNetOpenAuth.Messaging.ProtocolException.GetObjectData(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)'. Security
accessibility of the overriding method must match the security
accessibility of the method being overriden.]
DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(Boolean
condition, String message, Object[] args) +0
DotNetOpenAuth.Messaging.Channel.ValidateAndPrepareBindingElements(IEnumerable`1
elements) +524
DotNetOpenAuth.Messaging.Channel..ctor(IMessageFactory
messageTypeProvider, IChannelBindingElement[] bindingElements) +316
That can come from either of these constructors:
DotNetOpenAuth.OAuth2.WebServerClient..ctor(AuthorizationServerDescription
authorizationServer, String clientIdentifier, String clientSecret)
DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty..ctor()
According to
http://stackoverflow.com/a/3055912/62024 that method
should have [SecurityCriticalAttribute]. I'm not an expert in .NET
code security, so I'll have to take the author's word for it. I don't
know what the implications are.
Is this something that can get fixed easily? Should I open an issue
and/or try to fix it myself and send a pull request?
Rackspace's policy file can be found at
http://c4959820.r20.cf2.rackcdn.com/web_custom40.config
Thanks!
Diego