在没有用户身份验证的情况下保护Web API

时间:2016-01-12 03:00:42

标签: cordova authentication asp.net-web-api

我正在构建一个可以调用Web API的应用程序,但是登录是可选的,我如何确保我的应用程序对API进行调用?有可能吗?我正在使用Cordova和.Net 4.6.1。

我不是一个网络开发者,但做了一些:)

由于

2 个答案:

答案 0 :(得分:2)

您可以按照以下步骤使您的应用更安全:

  1. 使用ssl

  2. 使用此插件检查ssl证书:http://plugreg.com/plugin/EddyVerbruggen/SSLCertificateChecker-PhoneGap-Plugin

  3. 使用此插件https://github.com/whiteoctober/cordova-plugin-app-version获取应用的包名称,并将包名称与您的请求一起发送。

  4. 如果您希望每个设备都有唯一的ID,您可以在应用中生成一些uuid,也可以使用此插件https://github.com/Paldom/UniqueDeviceID

  5. 我在第一次检查是否是我的应用程序时执行了一些«Math»,这是在执行请求。

  6. 在第一次请求之后,应用会获得一些令牌,该令牌也会随着每个请求一起发送。

  7. 如果您愿意,可以加密您的cordova应用程序,使用此插件:https://github.com/tkyaji/cordova-plugin-crypt-file

答案 1 :(得分:1)

通常您应该使用OAuth2 client credentials flow。但这需要您的客户(电话应用程序)能够保证客户端的安全。

移动应用程序被认为是不安全的,因为很难从设备所有者那里隐藏内容。

如果您无法进行客户端身份验证,则只有两个选项是要求用户身份验证,或者让您的API对任何客户端开放。