我正在创建一个应用程序,我将同时拥有一个发布广告的客户以及查看和接受添加的用户。客户端将登录到主Web服务器站点以发布添加,用户将登录(获得授权)以查看移动站点。
我遇到的问题是使用oauth2授权...我已经设置了服务器,使用curl获取授权码,但有人可以为我澄清一些内容吗?
我的客户和用户是否存储在同一个数据库表中?我应该将每个想要查看api的人存储到用户中,还是为Users / Whatever创建一个新模型?
在这种情况下我是否甚至需要oauth2,因为很多关于这方面的教程都是关于第三方应用程序获得像谷歌这样的授权。而我的移动应用程序和Web服务器都属于同一公司或站点。
答案 0 :(得分:0)
我希望我能正确理解你的问题。您的第一个问题是关于数据库设计,在第二个问题中,您正在寻找对oauth用例的一些理解。
让我们谈谈你的第一个问题,他的回答有点不具体。这是一个设计决策,有点主观,但会根据您的要求提供更好或更差的解决方案。您必须确定存储有关用户与客户的信息是否存在显着差异。如果是,不同的表将是您更好的设计解决方案。如果您需要了解客户与用户的唯一事项是他们拥有不同类型的访问权限,那么您可能需要的只是表中的一个附加列,它将指示登录人员的类型访问,无论是客户端还是用户。在这种情况下,单个表将是您更好的设计解决方案。
第二个问题也是一个很好的问题,也是许多开发人员心痛的根源,因为oauth的目的往往很难理解,一旦你开始使用它,并不是那么简单的实现。 Oauth可以被认为是客户端和服务器之间的安全握手。在这种情况下,客户是你,但服务器也是你,简而言之,这意味着你不需要oauth。如果您想创建一个可以向其他开发人员提供数据的后端'客户端应用程序,然后您可能想要实现oauth,但即使这样,如果您需要来自服务器的授权安全性,您也只想使用它。起初它有点令人困惑,我可以继续,但这里有一个article解释得非常好,由使用oauth实现应用程序的人编写。如果您仍然认为自己需要oauth(如果您计划将其他开发人员使用的代码作为API),那么您的工作就已经完成了。否则,现在不要担心oauth!