标签: dotnetopenauth

dotnetopenid教程

非常基本的问题,但有人可以指点我一个关于如何实现和使用dotnetopenid的建设性教程?

我很难找到任何解释如何实现这个东西的真实文档.我在他们的网站上找不到任何东西,我已经完成了几个样本,但仍然无法解决,而且包含的.chm文件只是参考资料,而不是"入门"指南.

谷歌搜索也让我失望:(

dotnetopenauth

9
推荐指数
1
解决办法
2447
查看次数

对于Twitter,OAuthWebSecurity"记住我"

在MVC4 C#上使用DotNetOpenAuth为我的应用程序从Facebook,Twitter,Google +和雅虎的用户获取身份验证.目前除了twitter之外的所有提供商都将允许现有用户在返回该站点时仅在没有请求许可的情况下登录.

我注意到Twitter在其页面上的权限请求上有一个"记住我"复选框.即使我选择它,它仍然会在下次询问我的Twitter用户名和密码.其他三个提供商会自动验证我,而不会看到他们的登录页面.

如何让用户通过Twitter登录我的网站再登录不再通过权限请求?

c# asp.net-mvc oauth dotnetopenauth twitter-oauth

9
推荐指数
1
解决办法
849
查看次数

无法为Facebook创建SSL/TLS安全通道

我已经使用Facebook在生产中实施了一段时间的社交登录.截至今天早上,它已不再适合我.我在dev(没有SSL)和生产中得到了相同的错误,它在Azure网站上托管,并且确实使用SSL.

这是我看到的错误:

[WebException: The request was aborted: Could not create SSL/TLS secure channel.] System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request) +283 System.Net.WebClient.DownloadString(Uri address) +100 DotNetOpenAuth.AspNet.Clients.FacebookClient.QueryAccessToken(Uri returnUrl, String authorizationCode) +350 DotNetOpenAuth.AspNet.Clients.OAuth2Client.VerifyAuthentication(HttpContextBase context, Uri returnPageUrl) +202 DotNetOpenAuth.AspNet.OpenAuthSecurityManager.VerifyAuthentication(String returnUrl) +411 Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthenticationCore(HttpContextBase context, String returnUrl) +189 Microsoft.Web.WebPages.OAuth.OAuthWebSecurity.VerifyAuthentication(String returnUrl) +139

其他人看到这个?我的Google登录功能继续正常运行.

c# ssl facebook dotnetopenauth

9
推荐指数
1
解决办法
6133
查看次数

使用DotNetOpenId使ClaimsResponse工作的秘诀是什么?

使用DotNetOpenId使ClaimsResponse工作的秘诀是什么?

例如,在这段代码中(来自Scott Hanselman的博客),ClaimsResponse对象应该有很多很好的小东西,比如'nickname'和'email address',但ClaimsResponse对象本身就是'null':

 OpenIdRelyingParty openid = new OpenIdRelyingParty();  
 if (openid.Response != null)  
 {  
    // Stage 3: OpenID Provider sending assertion response  
    switch (openid.Response.Status)  
    {  
       case AuthenticationStatus.Authenticated:  
          ClaimsResponse fetch = openid.Response.GetExtension(typeof(ClaimsResponse)) as ClaimsResponse;  
          string nick = fetch.Nickname;  
          string homepage = openid.Response.ClaimedIdentifier;  
          string email = fetch.Email;  
          string comment = Session["pendingComment"] as string;  
          string entryId = Session["pendingEntryId"] as string;  
          if (String.IsNullOrEmpty(comment) == false && String.IsNullOrEmpty(entryId) == false)  
          {  
             AddNewComment(nick, email, homepage, comment, entryId, true);  
          }  
          break; …
Run Code Online (Sandbox Code Playgroud)

.net asp.net security openid dotnetopenauth

8
推荐指数
2
解决办法
2208
查看次数

OAuth简单服务提供商

我正在努力挑选出包含在DotNetOpenAuth中的OAuth服务提供商示例.我搜索了SO并发现了一些相似/相关的帖子,但没有什么真正有用的.是否有任何开源项目或ASP.NET MVC 2 OAuth服务提供商的简单/原始示例?我想使用OAuth的所有内容都是对服务进行身份验证.我打算用密钥/秘密来推销我自己的api,但是认为像OAuth这样经过试验和测试的协议可能是更好的解决方案.

.net c# api oauth dotnetopenauth

8
推荐指数
1
解决办法
8155
查看次数

如何生成OAuth客户端标识符和客户端密钥?

我正在实施OAuth2提供程序,我希望在我的网站的某个地方开发人员登录并注册第三方应用程序.但我对如何生成应用程序的客户端标识符和客户端密钥有疑问.它们应该是唯一的随机代码,还是必须向客户提供一些有意义的信息?我想他们可能是随机的.

好吧,我一直在寻找有关如何做到这一点的最佳实践,但没有找到那么多.所以任何答案都将不胜感激.

PD:我在.NET MVC3上开发了一个名为DotNetOpenAuth的库.

c# dotnetopenauth oauth-2.0 asp.net-mvc-3

8
推荐指数
1
解决办法
7742
查看次数

Google OpenId:找不到OpenID端点(间歇性)

通常使用谷歌OpenId工作正常,每天数千次,然后它将开始间歇性出错并超时一小时左右(一些请求将验证,但不是全部).重复验证最终会起作用.

错误消息是:

Event code: 200000 
Event message: No OpenID endpoint found. : https://www.google.com/accounts/o8/id 

Sequence contains no elements
Run Code Online (Sandbox Code Playgroud)

添加log4net产量:

DotNetOpenAuth.Yadis:
Error while performing discovery on: "https://www.google.com/accounts/o8/id": 
DotNetOpenAuth.Messaging.ProtocolException:
 Error occurred while sending a direct message or getting the response. 
 ---> System.Net.WebException: The operation has timed out     
  at System.Net.HttpWebRequest.GetResponse()    
  at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse
     (HttpWebRequest request, DirectWebRequestOptions options) 
     in  c:\...\Dot...Core\Messaging\StandardWebRequestHandler.cs:line 127    
 --- End of inner exception stack trace ---     
  at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse
     (HttpWebRequest request, DirectWebRequestOptions options) 
     in c:\...\Dot...Core\Messaging\StandardWebRequestHandler.cs:line 175
  at DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.GetResponse
     (HttpWebRequest request, DirectWebRequestOptions options)
     in c:\...\Dot...Core\Messaging\UntrustedWebRequestHandler.cs:line …
Run Code Online (Sandbox Code Playgroud)

asp.net openid dotnetopenauth google-openid

8
推荐指数
1
解决办法
3252
查看次数

在OpenID + OAuth中缺少DotNetOpenAuth.ApplicationBlock

我在我的ASP.NET WebForm(使用.NET Framework 3.5)应用程序中实现了OpenID + OAuth,在net上找到了示例

https://groups.google.com/forum/?fromgroups=#!topic/dotnetopenid/xQYkE6sUZYU
Run Code Online (Sandbox Code Playgroud)

但我缺少DotNetOpenAuth.ApplicationBlock命名空间,我在我的项目中包含了这些库:

DotNetOpenAuth.dll
DotNetOpenAuth.OAuth2.dll
DotNetOpenAuth.OAuth2.Client.dll
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议我在哪里做错了吗?

c# asp.net openid dotnetopenauth

8
推荐指数
1
解决办法
1977
查看次数

使用OAuthWebSecurity.RegisterMicrosoftClient的错误请求(400)

我在用Microsoft.Web.WebPages.OAuth.我能注册Google,Facebook,Twitter,Stack Exchange,MyOpenID...

现在我想添加Microsoft Live,所以我注册了:

OAuthWebSecurity.RegisterMicrosoftClient("applicationID", "key");
Run Code Online (Sandbox Code Playgroud)

并呼吁

OAuthWebSecurity.RequestAuthentication("microsoft", Url.Action("Authorization", new { returnUrl = "/" }));
Run Code Online (Sandbox Code Playgroud)

到目前为止一切正常,我被重定向到登录页面.问题是我回来的时候

OAuthWebSecurity.VerifyAuthentication();
Run Code Online (Sandbox Code Playgroud)

它说:

远程服务器返回错误:(400)错误请求.

我需要做什么?

c# authentication oauth dotnetopenauth

8
推荐指数
1
解决办法
2419
查看次数

DotNetOpenAuth在修改后编译,但在运行示例项目时抛出运行时异常

我从GitHub下载了最新的DotNetOpenAuth代码,最初它无法构建.我通过运行以下命令解决了这个问题:

sn -Vr *,2780ccd10d57b246
Run Code Online (Sandbox Code Playgroud)

在这里找到:

http://www.dotnetopenauth.net/developers/contributing/quickstart-environment/

我继续对DotNetOpenAuth.AspNet项目进行了一些修改.编译得很好.然后我在样本下创建了一个MVC 4 Web项目来测试我的更改.该解决方案再次编译.但是,一旦我点击调试,我就会得到死亡的ASP.NET黄色屏幕,并出现以下错误:

无法加载文件或程序集"DotNetOpenAuth.AspNet"或其依赖项之一.强名称签名无法验证.程序集可能已被篡改,或者是延迟签名但未使用正确的私钥完全签名.(HRESULT异常:0x80131045)

MVC 4项目是从空模板创建的,因此没有对Microsoft.Web.WebPages.OAuth的引用

我错过了什么?我完成了上面链接中的其他步骤:

sn -k mykeyfile.pfx 
sn -i mykeyfile.pfx mykeycontainer
sn -p mykeyfile.pfx mykeyfile.pub 
sn -q -t mykeyfile.pub
sn -Vr *,<YourPublicKeyTokenHere>
Run Code Online (Sandbox Code Playgroud)

并修改了文件\ tools\DotNetOpenAuth.props,特别是使用新值的行:27,29,30

26. <SignAssembly>true</SignAssembly>
27. <PublicKeyFile Condition="'$(PublicKeyFile)' == ''">$(ProjectRoot)src\official-build-key.pub</PublicKeyFile>
28. <AssemblyOriginatorKeyFile Condition="'$(AssemblyOriginatorKeyFile)' == ''">$(PublicKeyFile)</AssemblyOriginatorKeyFile>
29. <KeyPairContainer Condition="'$(KeyPairContainer)' == ''">DotNetOpenAuth</KeyPairContainer>
30. <PublicKeyToken>2780ccd10d57b246</PublicKeyToken>
31. <DelaySign>true</DelaySign>
32. <SignedSubPath>signed\</SignedSubPath>
Run Code Online (Sandbox Code Playgroud)

c# dotnetopenauth visual-studio-2012

8
推荐指数
1
解决办法
1584
查看次数