疑问:有没有人知道在不使用身份的情况下使用 facebook 创建登录中间件?我有一个使用 Angular + ASP.Net 核心 Web API 2.0 的应用程序,需要使用 Facebook 创建身份验证,但是,只遇到具有身份的示例,而没有身份的示例是旧版本,不再起作用。我花了几个小时研究,但我没有找到任何东西。任何人都可以帮助我吗?
在我的启动课程中,我有这个,我没有 Facebook 的 JWT 身份验证正常工作
services.AddAuthentication(authOptions =>
{
authOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
authOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(bearerOptions =>
{
bearerOptions.TokenValidationParameters = tokenValidationParameters;
}).AddFacebook(o =>
{
o.AppId = Configuration["facebook:appid"];
o.AppSecret = Configuration["facebook:appsecret"];
o.SignInScheme = "Bearer";
});
Run Code Online (Sandbox Code Playgroud)
但我想知道如何调用一些控制器在 facebook API 中进行身份验证,并返回令牌供我保存在声明标识中。
作为 .fsi 签名文件的使用者,两者之间有什么区别(如果有的话):
val sum : int -> int -> int
Run Code Online (Sandbox Code Playgroud)
和
val sum : (int -> int -> int)
Run Code Online (Sandbox Code Playgroud)
似乎第二个可以通过函数定义或函数“别名”来实现,但第一个只能通过函数定义来实现。
具有以下内容:
// .fsi
val add : int -> int -> int
val sum : int -> int -> int
Run Code Online (Sandbox Code Playgroud)
// .fs
let add a b = a + b
let sum = add
Run Code Online (Sandbox Code Playgroud)
产生错误
error FS0034: Module 'Butter' contains
val sum : (int -> int -> int)
but its signature specifies
val sum : int -> int …Run Code Online (Sandbox Code Playgroud) 每当我在MVC网站中限制匿名访问时,我都会收到404错误:
'/'应用程序中的服务器错误.无法找到该资源.说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用.请查看以下网址,并确保拼写正确.
请求的URL:/帐户/登录
我刚刚第一次玩MVC (RC1刷新),在让我退出的会员提供商工作后,我想锁定网站以防止匿名访问.我尝试使用web.config的传统方式:
<configuration>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但即使我明确允许匿名访问登录页面,也会出现上述错误.
我还尝试了Scott Gu博客中提到的技术,并通过在HomeController中添加[Authorize]属性来保护About页面.
[Authorize]
public ActionResult About()
{
return View();
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试访问该页面时遇到了同样的错误.
我甚至尝试在单独的机器上进行干净安装.
那么如何在ASP.Net MVC RC1 Refresh中启用授权?
我正在开发一个 C 应用程序,我希望它具有合理的可移植性。它可以在 Linux 上使用 gcc 和 clang 以及在 Windows 上使用 MSVC 构建。访问 Mac 后,我尝试使用命令行工具进行构建。
它无法编译,因为我的代码声明了一个函数,isnumber而 Apple 的ctype.h头文件也声明了一个 (non standard?) isnumber。我可以重命名我的函数,这样它就不会发生冲突,但是有没有办法通过禁用或忽略所有或特定的 Apple 添加到标准标头来避免这种情况?例如,是否有编译器选项或预处理器编译指示来忽略它们?
我isnumber不知道检查字符类。下面是重现该问题的代码 - 它可以用 clang/Linux 和 MSVC/Windows 编译,但不能在 Mac 上编译( - 它不是实际代码)。
#include <ctype.h>
#include <stdio.h>
char *isnumber(void);
int main(void)
{
char *opt = "A";
if (isupper(*opt))
printf("THE IS NUMBER IS: %s\n", isnumber());
else
printf("The IS number is: %s\n", isnumber());
return 0;
}
char *isnumber(void)
{
return "IS-123";
} …Run Code Online (Sandbox Code Playgroud)