如何仅让我的客户端访问我的API?

时间:2015-06-25 21:06:14

标签: asp.net rest security asp.net-web-api2

我正在开发一个将由移动应用客户端使用的REST Web API。我不希望任何其他客户端能够访问API。我是否只需要一个将由移动应用程序使用的密码/令牌?通过反编译我的应用程序,人们没有办法找到密码吗?

2 个答案:

答案 0 :(得分:1)

是的,你不能创建一个嵌入了秘密的应用程序,并希望秘密保密。

如果您发送带有密码的应用程序(令牌,用户/密码,私钥等),则该信息在二进制文件中可用,并且有动机的人可以提取它。

通常的做法是安装应用程序,然后让应用程序的用户登录,并为将来的请求存储唯一的凭据。

答案 1 :(得分:0)

您可以使用OWIN OAUTH,其中客户端的用户需要进行身份验证,并且将Bearer授权令牌返回给客户端,必须将其传递给WebAPI上的所有安全请求(WebAPI上的安全请求使用授权属性)

请查看此链接http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/#comments