Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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
.NET核心Web API-验证Xamarin应用程序-Azure_.net_Azure_Asp.net Core_Xamarin_Azure Active Directory - Fatal编程技术网

.NET核心Web API-验证Xamarin应用程序-Azure

.NET核心Web API-验证Xamarin应用程序-Azure,.net,azure,asp.net-core,xamarin,azure-active-directory,.net,Azure,Asp.net Core,Xamarin,Azure Active Directory,我有一个托管在Azure中的.NET核心Web API作为应用程序服务,我还开发了一个Xamarin Forms移动应用程序,该应用程序调用API从Azure托管的SQL Server添加和删除数据。这很好,但是您也可以通过浏览器或Postman之类的工具进行API调用,尽管数据不是机密的,但这感觉有点不安全 有谁能推荐确保API只能由移动应用程序访问的最佳方法吗?移动应用程序托管在Azure中,并且已经使用Azure Active Directory进行身份验证,我不确定Azure中是否有阻止

我有一个托管在Azure中的.NET核心Web API作为应用程序服务,我还开发了一个Xamarin Forms移动应用程序,该应用程序调用API从Azure托管的SQL Server添加和删除数据。这很好,但是您也可以通过浏览器或Postman之类的工具进行API调用,尽管数据不是机密的,但这感觉有点不安全

有谁能推荐确保API只能由移动应用程序访问的最佳方法吗?移动应用程序托管在Azure中,并且已经使用Azure Active Directory进行身份验证,我不确定Azure中是否有阻止访问除此应用程序以外的所有内容的设置,或者我是否可以将Azure AD用户传递给API进行身份验证?我只是不确定最好的方法,因为我对.NET开发相当陌生

谢谢。

请查看文档和示例

基本上:

  • 您的移动应用程序将请求应用程序注册,因此后者可以对其进行授权
  • 默认情况下,您的web api将通过验证(使用附加的访问令牌)来授权对其受保护端点的调用(该令牌应与web api匹配),并且可以选择()和/或()
  • 或者,您可以添加自己的验证/授权逻辑,如仅允许某些客户端(如您的移动应用程序)使用访问令牌等

  • 请详细说明您试图保护的API,您试图限制的请求类型。当然,理想情况下,我希望限制所有请求。目前,它是开放的,这意味着您可以从Postman之类的工具获取、发布和删除某些表。我希望它仅限于使用我开发的移动应用程序的用户。这些表与SQL数据库相关?是的,是Azure托管SQL Server上的SQL数据库。