Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 同一WEB API的Windows和令牌身份验证_C#_Asp.net_.net_Asp.net Web Api_Xamarin - Fatal编程技术网

C# 同一WEB API的Windows和令牌身份验证

C# 同一WEB API的Windows和令牌身份验证,c#,asp.net,.net,asp.net-web-api,xamarin,C#,Asp.net,.net,Asp.net Web Api,Xamarin,好的,我有这个场景 我有一个WEB API,它将为intranet应用程序提供功能,其思想是这个应用程序将不被外部世界看到,因此它不会有登录页面 然而,webapi也将被组织外的移动应用程序使用,因此webapi将通过公共url公开 如何在此处进行身份验证/授权以支持这两种方案? 1.内部用户将能够通过angular后端应用程序使用web api,而无需显式登录页面。 2.通过移动应用程序的外部用户将使用其active directory帐户使用web api 我发现: 在这里,我可以轻松地替

好的,我有这个场景

我有一个WEB API,它将为intranet应用程序提供功能,其思想是这个应用程序将不被外部世界看到,因此它不会有登录页面

然而,webapi也将被组织外的移动应用程序使用,因此webapi将通过公共url公开

如何在此处进行身份验证/授权以支持这两种方案? 1.内部用户将能够通过angular后端应用程序使用web api,而无需显式登录页面。 2.通过移动应用程序的外部用户将使用其active directory帐户使用web api

我发现:

在这里,我可以轻松地替换GetIdentity方法,转到Active Directory并检查是否存在使用该用户和密码的用户,但在intranet上,我不会有该信息


请提供一些想法?

处理这种情况的最佳方法是使用as。这将允许更轻松地访问piblic端点,而无需从移动客户端进行某种登录,同时使您能够知道哪个移动设备正在访问您的端点。这与外部身份验证服务(如使用google和facebook登录)中实现的工作流相同,在这些服务中,您将获得一个
和一个


听起来是个不错的选择,我只需要自定义hmac授权属性,我猜hmac身份验证哈希可以以您认为合适的任何方式传递,它只需要到达服务器并知道如何检索它……最好在请求的标头中发送