使用oAuth2验证WPF和PHP之间的请求?

时间:2015-08-06 00:05:44

标签: c# php wpf authentication request

我已经搜索了一段时间,但找不到与我的想法有关的任何内容。我想用WPF构建一个应用程序,它将所有用户相关的信息发送到PHP脚本。对于我使用SSL的每个请求。

当用户注册时,他只提交用户名,密码和电子邮件地址。密码始终使用sha256存储为应用程序中的哈希值,并且此哈希值在PHP中使用password_hash存储为另一个哈希值。

登录后,应用程序将根据用户操作发送请求。为了验证每个请求,我遇到了oAuth2。 oAuth2是验证请求的“最佳实践”还是有另一种方法可以做到这一点?登录后有必要对每个请求进行验证。

2 个答案:

答案 0 :(得分:1)

OAuth 可能是您最好的选择。能够验证请求和撤销令牌是现在在应用程序中工作一天的关键。许多顶级网站,Facebook,Twitter,Instagram等都使用OAuth,因为它具有强大的身份验证和灵活性。

对于我的公司,我们有自定义的API,并为所有这些API使用OAuth。即使它们是私有API,OAuth也能让我们在以后如果我们感到高兴的话推动公众使用。

确切地知道您的项目是什么或它的功能如何,坦率地说,我并不需要。在我看来,使用OAuth不会出错。

答案 1 :(得分:1)

保护API请求的方法有两种:

  • 基本身份验证。表格的标题

    Authorization: Basic base64(username:password)
    

    与每个请求一起发送。这很容易实现,但也很容易攻击;你绝对必须通过HTTPS发送请求(因为没有使用加密)。

  • 某种形式的 OAuth 。您可以将密码授予类型用于与您类似的方案:您将用户名和密码发送到OAuth服务器,并请求可在每个请求上使用的访问令牌。这更安全,更复杂,因为您必须实现令牌服务器。

您选择的内容取决于很多因素,例如您的服务是内部服务还是外部服务,您希望在项目中构建多少复杂程度,以及目标用户是谁。

进一步阅读:

完全披露:我在company工作,为此构建API。