- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 DotNetOpenAuth 作为 OpenID 提供程序将我自己的声明添加到用户断言中?
我需要向 ClaimsRequest 和 ClaimsResponse 添加一些属性,例如“UserID”。我在类 ClaimsRequest.cs 和 ClaimsResponse.cs 中都添加了这个属性,当我用这个更改构建 DotNetOpenAuth 时,它在 VS 2010 中运行良好,但是当我在 iis 7.5 上发布时它抛出这个异常:
Server Error in '/OpenID' Application.
Could not load file or assembly 'DotNetOpenAuth.Contracts' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045) Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileLoadException: Could not load file or assembly 'DotNetOpenAuth.Contracts' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Assembly Load Trace: The following information can be helpful to determine why the assembly 'DotNetOpenAuth.Contracts' could not be loaded.
WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack Trace:
[FileLoadException: Could not load file or assembly 'DotNetOpenAuth.Contracts' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)]
[FileLoadException: Could not load file or assembly 'DotNetOpenAuth.Contracts, Version=3.4.6.11075, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)] System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks) +567
System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +192 System.Reflection.Assembly.Load(String assemblyString) +35
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +118[ConfigurationErrorsException: Could not load file or assembly 'DotNetOpenAuth.Contracts, Version=3.4.6.11075, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +11396867 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +484 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +127 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +334
System.Web.Compilation.BuildManager.CallPreStartInitMethods() +280 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1087[HttpException (0x80004005): Could not load file or assembly 'DotNetOpenAuth.Contracts, Version=3.4.6.11075, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. Strong name signature could not be verified. The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11529072
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +4784373-------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
最佳答案
您不应该向 ClaimsRequest
添加属性或 ClaimsResponse
类,因为它是简单注册扩展,并且有一组固定的属性。
相反,您应该使用属性交换扩展,它允许您在不重新编译库的情况下设置和检索其上的任意属性(声明)。在 DotNetOpenAuth 中,这意味着使用 FetchRequest
和 FetchResponse
类来承载您的自定义声明。
您从 IIS 收到的错误是因为您对 DotNetOpenAuth 的构建进行了不正确的“签名”。但是,如果您按照这些说明进行操作,则不需要自己构建它,因此我将放弃有关如何正确构建的说明。
关于openid - 如何在 DotNetOpenAuth 上添加我的声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5324492/
我刚刚使用 Log4net 设置了一个日志记录提供程序,并在测试时注意到 DotNetOpenAuth 也在记录消息。他们一定也在使用 log4net,太棒了,我不希望每次有人使用 openID 登录
我正在尝试使用 DNOA 为我的应用程序提供 OpenId 支持,以便离开我迄今为止一直在使用的 Janrain 解决方案。问题是,到目前为止,我拥有的用户拥有基于个人资料的标识符(https://w
我只想使用 google 登录,并希望在我的网站上显示在用户的一般配置文件(如照片、电子邮件地址和姓名)中登录的访问权限。 DotNetOpenAuth 有可能吗? 最佳答案 这非常简单。使用 Ope
我目前正在从 Janrain engange (rpxnow) 切换到 dotnetopenauth。在我的数据库中,我将用户声明的标识符存储在表单中 https://www.google.com/a
我正在使用 Dotnetopenid 进行登录。 我正在使用 dotnetopenid 提供商登录我的应用程序(假设是 google)。 在注销时,我将通过 FormsAuthentication.S
您好, 我想将 ClaimedIdentifier 保存在数据库中。 它可以持续多久? 大概 255 个字符可以吗? 最佳答案 openid.claimed_id 仅受 URL 的最大长度限制,从技术
我刚刚开始将 DotNetOpenAuth 与 MVC 应用程序一起使用,我很难理解它的实际工作原理。 据我了解,DotNetOpenAuth 将负责使用 Google/Twitter/Faceboo
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我正在通过dotNetOpenAuth Samples (OpenIdRelyingPartyMVC 和 OpenIdProviderMvc)并提出一个问题以更好地理解...... 例如,在依赖方应用
我正在为 OpenId 提供商和依赖方实现 DotNetOpenAuth。在这两种情况下,服务器都位于负载均衡器后面,因此对于任何 HTTP 请求,我们不能假设我们会访问同一服务器。 看来 DotNe
我有一个负载均衡器,后面有一些网络服务器。到达负载均衡器的流量通过 SSL 进行保护,并且从负载均衡器到 Web 服务器的数据作为未加密的 HTTP 流量发送。我在 Web 服务器上的负载均衡器后面使
我已经下载了与http://www.dotnetopenauth.net/关联的Visual Studio 2010模板。我可以像宣传的那样使它工作。我不是从头开始一个项目,也不想花很多时间将所有we
我正在尝试使用 ASP.NET MVC 实现 OpeinID 登录。我正在尝试按照 http://blog.nerdbank.net/2008/04/add-openid-login-support-
如果您从 Github 源构建,您会在检查签名程序集时遇到错误。 是否可以只更改: SignAssembly = false DelaySign = false 在 tools\DotNetOpenA
源代码托管在哪里? git 中心?我到处都找不到它。 最佳答案 是的,它与项目的其余部分一起位于 GitHub 上。它位于 master 分支下。 https://github.com/AArnott
我使用此页面(第一个示例)提供的代码创建了一个简单页面: http://www.dotnetopenauth.net/developers/code-snippets/programmatic-ope
我有以下代码: protected void Page_Load(object sender, EventArgs e) { var openId = new OpenIdRelyingPar
我知道 stackoverflow 使用 OpenID 身份验证。我也想尝试使用它。我正在使用带有 C# 的 asp.net mvc 2.0。 我找到了这个 http://www.dotnetopen
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
几天来,我一直在绞尽脑汁,试图使用 DotNetOpenAuth 从 Google 获取日历列表。 我可以使用 DotNetOpenAuth 示例成功获取联系人列表。我使用 OpenId+OAuth
我是一名优秀的程序员,十分优秀!