【发布时间】:2023-04-02 20:52:01
【问题描述】:
我正在开发一个可供移动应用客户端使用的 REST Web API。我不希望任何其他客户端能够访问 API。我应该只需要移动应用程序使用的密码/令牌吗?有没有办法让人们通过反编译我的应用程序找到该密码?
【问题讨论】:
标签: asp.net rest security asp.net-web-api2
我正在开发一个可供移动应用客户端使用的 REST Web API。我不希望任何其他客户端能够访问 API。我应该只需要移动应用程序使用的密码/令牌吗?有没有办法让人们通过反编译我的应用程序找到该密码?
【问题讨论】:
标签: asp.net rest security asp.net-web-api2
是的,您不能创建一个嵌入了秘密的应用程序并期望秘密保持秘密。
如果您使用密钥(令牌、用户/通行证、私钥等)发布应用程序,则该信息在二进制文件中可用,并且有动机的人可以提取它。
通常的做法是安装应用程序,然后让应用程序的用户登录,并为将来的请求存储唯一的凭据。
【讨论】:
您可以使用 OWIN OAUTH,其中客户端的用户需要进行身份验证,并且不记名授权令牌返回给客户端,该令牌必须传递给 WebAPI 上的所有安全请求(WebAPI 上的安全请求使用 Authorize属性)
【讨论】: