如何验证内部应用程序的客户端

时间:2017-08-01 13:18:00

标签: oauth-2.0

如果我正在开发一个供公众使用的移动应用程序 - 这意味着公司的内部应用程序,服务器不应该被第三方应用程序使用。

我应该只需要将移动应用程序传递给服务器的客户端_id来验证它是否是有效的客户端?或者我是否也需要通过客户端秘密?

我是否必须为此目的使用任何加密?

https://www.oauth.com/oauth2-servers/client-registration/client-id-secret/ 这表示不对内部应用程序使用客户端密钥

因此,对于我使用移动应用程序发出的每个请求,我应该传递客户端ID吗?

1 个答案:

答案 0 :(得分:0)

移动应用程序(或任何类型的本机应用程序)不能是机密客户端,这意味着它无法保密客户端,因为安装应用程序的每个人都可以(理论上)从代码中提取它。因此,使用客户端秘密毫无意义。

但是,您可以(并且应该)将授权服务器限制为仅重定向到应用程序的(硬编码)注册重定向端点URL。这与App claimed URLs结合使用可确保您的应用只能使用重定向端点。端点URL应使用HTTPS,因此验证了服务器的身份。

组织仍然可以制作第三方应用,在您的本地网络中为您的域名创建DNS条目并使用证书固定,但这在本地网络之外是相当困难和不可行的。