Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
Web API-Windows身份验证和API密钥能否用于同一调用?_Api_Web Services_Authentication - Fatal编程技术网

Web API-Windows身份验证和API密钥能否用于同一调用?

Web API-Windows身份验证和API密钥能否用于同一调用?,api,web-services,authentication,Api,Web Services,Authentication,我是web服务新手,正在使用.NETWebAPI2创建HTTP服务 这些服务的消费者将是其他应用程序,但在未来,我预计web应用程序(浏览器、移动应用程序)将使用它们。这些服务只是向消费者提供数据(无需创建/更新/删除) 所有应用程序,包括API,都位于我们的企业内部网上。没有向外的 我被告知对服务使用集成Windows身份验证。在相同的服务上是否也可以使用API密钥对进行调用的应用程序进行身份验证 我甚至不确定这样做是否有意义。消费应用程序(即在服务器上运行的可执行文件)能否发送帐户信息?我的

我是web服务新手,正在使用.NETWebAPI2创建HTTP服务

这些服务的消费者将是其他应用程序,但在未来,我预计web应用程序(浏览器、移动应用程序)将使用它们。这些服务只是向消费者提供数据(无需创建/更新/删除)

所有应用程序,包括API,都位于我们的企业内部网上。没有向外的

我被告知对服务使用集成Windows身份验证。在相同的服务上是否也可以使用API密钥对进行调用的应用程序进行身份验证


我甚至不确定这样做是否有意义。消费应用程序(即在服务器上运行的可执行文件)能否发送帐户信息?我的想法是Windows身份验证是不必要的,令牌身份验证就足够了。其他人告诉我两者都要用。我不确定这是可能的,也没有找到任何显示它的信息。

API密钥是传递给服务接口的参数,因此它可以通过后端的任何类型的身份验证来传递

但通常,api密钥用于确定是否允许用户使用特定的api。例如,如果只允许拥有windows帐户的一部分用户使用api,那么这可能是有意义的,因为即使他们可以使用windows帐户进行身份验证,也可以通过他们没有传递有效的身份验证密钥来确定他们是未经授权的

也就是说,您还可以使用某种策略执行相同的操作,例如,检查用户是否具有调用api方法的正确角色。当您让人们通过internet访问api时,它更有意义