使用 oAuth2 验证 WPF 和 PHP 之间的请求?
Authenticate requests between WPF and PHP using oAuth2?
我已经搜索了一段时间,但没有找到与我的想法相关的内容。我想用 WPF 构建一个应用程序,它获取所有与用户相关的信息,将请求发送到 PHP 脚本。对于每个请求,我都使用 SSL。
用户注册时,只需提交用户名、密码和电子邮件地址。密码始终使用 sha256 作为哈希存储在应用程序中,并且此哈希使用 PHP.
中的 password_hash 作为另一个哈希存储。
登录后,应用程序将根据用户操作发送请求。为了验证我遇到的每个请求,oAuth2。 oAuth2 是 "best practice" 来验证请求还是有其他方法可以做到这一点?登录后需要验证每个请求。
OAuth 可能是您最好的选择。现在在应用程序中工作时,能够验证请求和撤销令牌是关键。许多顶级网站、Facebook、Twitter、Instagram 等都使用 OAuth,因为它具有强大的身份验证和灵活性。
对于我的公司,我们定制了 API's 并为所有这些公司使用了 OAuth。即使它们是私有 API 的,OAuth 也使我们能够推动 public 稍后使用,如果我们愿意的话。
不确定您的项目到底是什么或它是如何运作的,坦率地说,我不需要。在我看来,使用 OAuth 不会出错。
有两种常见的方法来保护 API 请求:
基本 身份验证。 header 形式
Authorization: Basic base64(username:password)
随每个请求一起发送。这实现起来很简单,但也很容易受到攻击;你绝对必须通过HTTPS发送请求(因为没有使用加密)。
某种形式的 OAuth。对于像您这样的场景,您可能会使用密码授予类型:您将用户名和密码发送到 OAuth 服务器,并请求一个 访问令牌 ,该令牌可用于每个请求。这样更安全,也更复杂,因为你必须实现一个令牌服务器。
您的选择取决于很多因素,例如您的服务是内部服务还是外部服务、您希望在项目中构建的复杂程度以及目标用户是谁。
延伸阅读:
- API Keys vs HTTP Authentication vs OAuth in a RESTful API
- HTTP Authentication
- What the Heck is OAuth?
- How to Secure an API(不是WPF-related,但视频不错)
完全披露:我在 company 工作,为此构建 API。
我已经搜索了一段时间,但没有找到与我的想法相关的内容。我想用 WPF 构建一个应用程序,它获取所有与用户相关的信息,将请求发送到 PHP 脚本。对于每个请求,我都使用 SSL。
用户注册时,只需提交用户名、密码和电子邮件地址。密码始终使用 sha256 作为哈希存储在应用程序中,并且此哈希使用 PHP.
中的 password_hash 作为另一个哈希存储。登录后,应用程序将根据用户操作发送请求。为了验证我遇到的每个请求,oAuth2。 oAuth2 是 "best practice" 来验证请求还是有其他方法可以做到这一点?登录后需要验证每个请求。
OAuth 可能是您最好的选择。现在在应用程序中工作时,能够验证请求和撤销令牌是关键。许多顶级网站、Facebook、Twitter、Instagram 等都使用 OAuth,因为它具有强大的身份验证和灵活性。
对于我的公司,我们定制了 API's 并为所有这些公司使用了 OAuth。即使它们是私有 API 的,OAuth 也使我们能够推动 public 稍后使用,如果我们愿意的话。
不确定您的项目到底是什么或它是如何运作的,坦率地说,我不需要。在我看来,使用 OAuth 不会出错。
有两种常见的方法来保护 API 请求:
基本 身份验证。 header 形式
Authorization: Basic base64(username:password)
随每个请求一起发送。这实现起来很简单,但也很容易受到攻击;你绝对必须通过HTTPS发送请求(因为没有使用加密)。
某种形式的 OAuth。对于像您这样的场景,您可能会使用密码授予类型:您将用户名和密码发送到 OAuth 服务器,并请求一个 访问令牌 ,该令牌可用于每个请求。这样更安全,也更复杂,因为你必须实现一个令牌服务器。
您的选择取决于很多因素,例如您的服务是内部服务还是外部服务、您希望在项目中构建的复杂程度以及目标用户是谁。
延伸阅读:
- API Keys vs HTTP Authentication vs OAuth in a RESTful API
- HTTP Authentication
- What the Heck is OAuth?
- How to Secure an API(不是WPF-related,但视频不错)
完全披露:我在 company 工作,为此构建 API。