我目前正在升级我的Google登录流程,以便在他们的OpenID登录方法之前使用OAuth.
到目前为止,我已经确定的步骤是我已将Microsoft.Owin.Security.Google软件包升级到版本2.1.0,因为此版本包含在UseGoogleAuthentication方法中包含选项的功能.
我试图在链接中使用Alex Wheat的解决方案: 从外部身份验证提供程序获取MVC5框架OAuth/OWin身份提供者的ExtraData
Startup.Auth.cs中的代码(也包括Facebook身份验证)来自于:
var facebookAuthenticationOptions = new FacebookAuthenticationOptions()
{
AppId = "MYAPPID",
AppSecret = "MYSECRET"
};
facebookAuthenticationOptions.Scope.Add("email");
app.UseFacebookAuthentication(facebookAuthenticationOptions);
app.UseGoogleAuthentication();
Run Code Online (Sandbox Code Playgroud)
对此:
var facebookAuthenticationOptions = new FacebookAuthenticationOptions()
{
AppId = "MYAPPID",
AppSecret = "MYSECRET"
};
facebookAuthenticationOptions.Scope.Add("email");
app.UseFacebookAuthentication(facebookAuthenticationOptions);
var googleOAuth2AuthenticationOptions = new GoogleOAuth2AuthenticationOptions
{
ClientId = "MYCLIENTID",
ClientSecret = "MYSECRET",
CallbackPath = new PathString("/en/Account/ExternalLoginCallback"),
Provider = new GoogleOAuth2AuthenticationProvider()
{
}
};
app.UseGoogleAuthentication(googleOAuth2AuthenticationOptions);
Run Code Online (Sandbox Code Playgroud)
在我向Google身份验证添加选项后,我的应用不允许为Google或Facebook调用ExternalLoginCallback操作(不更改Facebook代码,但问题仍会影响它).
在前端,单击外部登录按钮后,页面将我重定向到下面的链接并返回一个空白屏幕
https ....../en/Account/ExternalLoginCallback #__ = _(在=符号之前实际上只有一个下划线,如果我在地址栏上显示它,则SO语法将其删除).
对于Facebook和
HTTPS ....../EN /帐号/ ExternalLoginCallback
对于谷歌.它没有像往常那样点击下面的控制器方法(我试图在这个函数中放置调试断点,并且当有google身份验证选项时它永远不会停止.
// GET: /Account/ExternalLoginCallback
[AllowAnonymous]
public …Run Code Online (Sandbox Code Playgroud) asp.net-mvc oauth google-authentication owin asp.net-identity
我有一些图像需要执行 HttpRequestMethod.HEAD 才能找出图像的一些详细信息。
当我在浏览器上访问图像网址时,它加载时没有问题。
当我尝试通过我的代码或在线工具获取标头信息时,它失败了
示例 URL 为http://www.adorama.com/images/large/CHHB74P.JPG
如前所述,我已使用在线工具Hurl.It来尝试获取 Head 请求,但我收到了与代码中相同的 403 Forbidden 消息。我尝试向 Head 请求添加许多不同的标头(User-Agent、Accept、Accept-Encoding、Accept-Language、Cache-Control、Connection、Host、Pragma、Upgrade-Insecure-Requests),但这些似乎都不起作用。
它也无法通过 Hurl.it 执行正常的 GET 请求。同样的 403 错误。
如果相关的话,我的代码是 ac# Web 服务,并且正在 AWS 云上运行(以防万一 adorama 服务器有一些我不知道的针对 AWS 的东西)。为了测试这一点,我还启动了一个 ec2(linux 盒子)并运行curl,它也返回了 403 错误。在我的个人计算机上本地运行curl会返回二进制图像,这可能只是图像数据。
只是为了消除明显的想法,我的代码可以在许多其他网站上成功运行,只是这个网站存在问题
知道我需要什么才能下载图像标题而不收到 403 吗?
curl amazon-ec2 amazon-web-services http-headers http-status-code-403