Tag: oauth

Github OAuth:远程服务器返回错误(403)Forbidden

我设法收到access_token ,浏览到https://api.github.com/user?access_token=ACCESS_TOKEN_HERE效果很好,浏览器显示我的所有信息。 但是当我试图用ASP.NET(C#)获取这些信息时,我收到一个错误: 远程服务器返回错误(403)Forbidden。 这是我用来制作Get Request的代码。 WebRequest request = WebRequest.Create(“https://api.github.com/user?access_token=” + access_token); request.Method = “GET”; WebResponse response = request.GetResponse(); //Error Here Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); string result = reader.ReadToEnd();

Youtube Data Api v3使用凭据登录

我想为youtube频道创建一个小应用程序,其中包含5个想要上传的人。 频道所有者问我是否有任何方式可以让所有人上传video而无法访问任何Google登录详细信息。 这就是我尝试使用youtube数据api v3创建应用程序的原因。 我几乎完成没有任何问题,但我怎么能避免使用“oAuth 2”。 我只想在我的代码中输入登录详细信息(名称,密码) 。 我已经尝试过任何出路,但除了使用oAuth之外我找不到任何其他方法 请不要讨论使用oAuth,我只是不想使用它。 我的编码经验是……好吧,我是C#的新手,但我已经有了一些Java和LUA的经验。

Gmail的上一个活动

如何从gmail的上一个帐户活动页面获取数据: IMG 此信息位于以下地址: https : //mail.google.com/mail/?ui = 2&ic = SOME_ACCOUNT_ID&view = ac 问题是我不知道如何进行身份validation来访问此页面。 我想我应该以某种方式使用OAuth协议,但不知道细节。 我想用C# 有没有人有一些提示?

从字符串加载.Net中的Jira公共证书(如何在.Net中将ASN.1编码的SubjectPublicKeyInfo转换为X509证书)

我正在构建一个oauth 1.0a服务,它将由Jira中的小工具使用,它是一个用C#编写的.Net 3.5应用程序。 Jira使用RSA-SHA1签名方法向此服务发出请求,这意味着validation我需要创建X509Certificate实例的请求的签名形成其公共证书。 在Jira应用程序中,您可以通过转到消费者信息屏幕(也包含Jira的消费者密钥等)来获取公共证书,并以此格式显示公钥: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCObJRTGSZbAo jRkvKmm0cwFXnKcPMfR4t/sghvLe/+QVs6TJOz5cUh5UokSqyz VeMsL0jomP18ZcR3SPcIFT7xtOGQjLwLk7ghfYSsxjTGs9VxsC /PQk5OQRP3v43IxFNF3M2SYhFWJZTOnqrab5AsMh2Kxdv+D69D CINXCu5ltQIDAQAB 查看生成此密钥的Jira代码,我可以看到它(假设)PEM编码时没有BEGIN / END证书页眉/页脚。 RSAKeys.toPemEncoding(consumer.getPublicKey()) RSAKeys是一个开源类,可在此处找到: https://studio.atlassian.com/source/browse/OAUTH/trunk/api/src/main/java/com/atlassian/oauth/util/RSAKeys.java?r=HEAD 我希望将此公共证书(密钥)加载到.Net中的X509Certificate实例中,但到目前为止我的尝试都失败了。 这是我的代码: static readonly Regex stripRegex = new Regex(“—–[AZ ]*—–“); public string ConvertFromOpenSsl(string key) { return stripRegex.Replace(key, “”).Replace(“\r”, “”).Replace(“\n”, “”); } public X509Certificate2 GetConsumerCertificate(IConsumer consumer) { string cert = @”MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCObJRTGSZbAo jRkvKmm0cwFXnKcPMfR4t/sghvLe/+QVs6TJOz5cUh5UokSqyz VeMsL0jomP18ZcR3SPcIFT7xtOGQjLwLk7ghfYSsxjTGs9VxsC /PQk5OQRP3v43IxFNF3M2SYhFWJZTOnqrab5AsMh2Kxdv+D69D CINXCu5ltQIDAQAB”; string converted = ConvertFromOpenSsl(cert); var […]

Twitter OAuth Flow – 对oob / 3-legged身份validation和一般流程感到困惑,不需要PIN?

延续自: 设置没有第三方库的Twitter OAuth 感谢Nylander先生的帮助,我设法让我的oAuth课程工作(虽然只是经过很长时间)! 但是,我对oAuth流程的几个方面感到困惑。 以下是我制作的计划中发生的事情的细分: ==编辑,我想我会发布部分代码,很难用我的单词来解释== //1st code segment HttpWebRequest request = (HttpWebRequest)WebRequest.Create(“https://api.twitter.com/oauth/request_token”); string response = “”; HttpWebResponse resp = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(resp.GetResponseStream())) { response = reader.ReadToEnd(); } 到目前为止,我可以成功获得响应。 响应 – > oauth_token = asjndiqufh9uf&oauth_token_secret = oinroiqurhwunwer&oauth_callback_confirmed = true //2nd code segment Process proc = new Process(); proc.StartInfo.UseShellExecute = true; […]

使用DotNetOpenAuth的双腿OAuth

我已经阅读了两条腿的OAuth,并了解其背后的原理 – 我的问题是针对DotNetOpenAuth库的。 是否有关于如何通过两条腿认证使用DotNetOpenAuth的示例代码或支持文档? 三条腿似乎得到了很好的支持,因为两条腿只是减少了步数,我认为这很容易 – 到目前为止,情况并非如此。

如何使用OAuth 2 – OAuth 2 C#示例

我必须弄清楚如何使用OAuth 2才能使用Deviantart api。 我得到了client_id和client_secret部分 这里是他们提供的信息 端点 使用OAuth 2.0向我们进行身份validation所需的唯一信息是您的应用的client_id和client_secret值,以及下面显示的端点。 OAuth 2.0草案10: 自由软件 url : htt OAuth 2.0草案15: 自由软件 url : htt 安慰剂电话 依赖OAuth 2.0身份validation的第一个API调用是安慰剂调用。 在进行可能很长的真实API调用(例如文件上载)之前,检查访问令牌是否仍然有效非常有用。 您可以使用以下端点之一调用它(必须提供访问令牌): https://www.deviantart.com/api/draft10/placebo https://www.deviantart.com/api/draft15/placebo 您需要使用与您获得令牌的OAuth 2.0草案相对应的端点。 它总是返回以下JSON: {status: “success”} 我在网上搜索过,找到了这个很棒的库。 DotNetOpenAuth v4.0.1 http://www.dotnetopenauth.net/ 添加它作为参考,但不知道下一步该做什么。 即使是一个非常小的例子对于如何使用OAuth 2也非常有用 using DotNetOpenAuth; using DotNetOpenAuth.OAuth2; 这里是deviantart提供信息的页面 http://www.deviantart.com/developers/oauth2 好了,到目前为止,我得到了什么,但没有工作 public static WebServerClient CreateClient() { var desc = GetAuthServerDescription(); […]

通过DotNetOpenAuth对FreshBooks进行身份validation

我正在尝试使用OAuth从我的ASP.NET MVC C#应用程序中对FreshBooks API进行身份validation。 这是我到目前为止: 我在这里使用DotNetOpenAuth是我在控制器操作中的代码 if (TokenManager != null) { ServiceProviderDescription provider = new ServiceProviderDescription(); provider.ProtocolVersion = ProtocolVersion.V10a; provider.AccessTokenEndpoint = new MessageReceivingEndpoint (“https://myfbid.freshbooks.com/oauth/oauth_access.php”, DotNetOpenAuth.Messaging.HttpDeliveryMethods.PostRequest); provider.RequestTokenEndpoint = new DotNetOpenAuth.Messaging.MessageReceivingEndpoint(“https://myfbid.freshbooks.com/oauth/oauth_request.php”, DotNetOpenAuth.Messaging.HttpDeliveryMethods.PostRequest); provider.UserAuthorizationEndpoint = new DotNetOpenAuth.Messaging.MessageReceivingEndpoint(“https://myfbid.freshbooks.com/oauth/oauth_authorize.php”, DotNetOpenAuth.Messaging.HttpDeliveryMethods.GetRequest); provider.TamperProtectionElements = new ITamperProtectionChannelBindingElement[] { new HmacSha1SigningBindingElement() }; var consumer = new WebConsumer(provider, TokenManager); var response = consumer.ProcessUserAuthorization(); if (response […]

Yahoo Sports API问题

我正在尝试设置一个使用Yahoo Fantasy体育API的简单应用程序,并允许通过YQL执行查询。 class Program { static void Main(string[] args) { string yql = “select * from fantasysports.games where game_key in (‘268’)”; //var xml = QueryYahoo(yql); // Console.Write(xml.InnerText); string consumerKey = “–my key–“; string consumerSecret = “–my secret–“; var xml = QueryYahoo(yql, consumerKey, consumerSecret); Console.Write(xml.InnerText); } private static XmlDocument QueryYahoo(string yql) { string url = “http://query.yahooapis.com/v1/public/yql?format=xml&diagnostics=false&q=” […]

AddOAuth linkedin dotnet core 2.0

我正在使用dotnet核心我想在网站上设置LinkedIn身份validation,因为LinkedIn没有默认身份validation构建器,因为facebook,google和twitter我决定使用如下通用实现: services.AddAuthentication().AddOAuth(“LinkedIn”, c => { c.ClientId = Configuration[“linkedin-app-id”]; c.ClientSecret = Configuration[“linkedin-app-secret”]; c.Scope.Add(“r_basicprofile”); c.Scope.Add(“r_emailaddress”); c.CallbackPath = “/signin-linkedin”; c.AuthorizationEndpoint = “https://www.linkedin.com/oauth/v2/authorization”; c.TokenEndpoint = “https://www.linkedin.com/oauth/v2/accessToken”; c.UserInformationEndpoint = “https://api.linkedin.com/v1/people/~:(id,formatted-name,email-address,picture-url)”; }) 我有一个问题,因为GetExternalLoginInfoAsync()为null,查看Identity ASP.net核心源,是因为providerkey为null。 取自asp.net核心代码: var providerKey = auth.Principal.FindFirstValue(ClaimTypes.NameIdentifier); var provider = items[“LoginProvider”] as string; if (providerKey == null || provider == null) { return null; } 问题是我在哪里可以将ClaimTypes.NameIdentifier添加到LinkedIn声明?