我一直在使用此tutorial通过Facebook验证我的AngularJS单页应用。
以下是本教程中的 GetExternalLogin 方法。正如预期的那样,当Facebook帐户以前没有身份验证时, ChallengeResult 会返回Facebook登录对话框的HTML(这是我通过邮递员测试时的结果,我甚至没有那么远来自我的AngularJS网站)。
如何在已调用API的AngularJS应用程序中显示Facebook登录对话框HTML GetExternalLogin ?
[OverrideAuthentication]
[HostAuthentication(DefaultAuthenticationTypes.ExternalCookie)]
[AllowAnonymous]
public async Task<IHttpActionResult> GetExternalLogin(string provider, string error = null)
{
string redirectUri = string.Empty;
if (error != null)
{
return BadRequest(Uri.EscapeDataString(error));
}
if (!User.Identity.IsAuthenticated)
{
return new ChallengeResult(provider, this); // Returns HTML for Facebook login dialog
}
...
}
答案 0 :(得分:0)
您应该从浏览器调用此端点而不是邮递员,以便正确呈现html,并且您将能够在弹出屏幕中输入Facebook凭据,然后您将接受同意屏幕并获取外部访问令牌,并将作为url哈希片段。 希望这能回答您的问题并感谢您关注bitoftech.net :)