[英]API Client Secret with REST Using Slim Framework
我有一个简单的REST API(使用Slim框架)设置,用户可以调用这样的页面:
subdomain.domain.com/api/musician/id/3273
检索并显示一些简单的JSON数据。
我想为此添加一些身份验证,以便只有具有某种客户端ID(至少)的用户才能访问此数据。 我希望用户能够在URL中传递他们的客户端密钥/ id信息,但是我想在没有过多地编写REST结构的情况下将其拉出来。
是否有某个框架或库对实现这一目标特别有效?
我也有这个问题已经有一段时间了,我也有一个问题没有关于这个主题的答案(在这里)。
基本上你的选择是OAuth或自定义。
现在,对于oauth,他们正在使用2.0版,你不应该使用OAuth 1开始一个新项目,但问题是,oauth2还远没有完成,现在几乎没有支持oauth2服务器的php。 我不想说oauth2 2-legged / 3-legged是复杂的,但它比它应该更多,并且在阅读了很多关于这个的帖子之后,我决定现在,我应该选择别的东西,而不是oauth(也是,其中一个oauth创建者离开了项目,因为他对这个项目的方向不满意),因为它处于“未定”的状态(当然人们会认为它已经准备就绪,但我不在乎,我想要已经证实的东西,不想成为大公司测试oauth的实验室老鼠[是的,oauth为大公司的利益而不是你的利益])。
无论如何,回到我的问题,我总是喜欢亚马逊使用他们的api的方式,它实现起来非常简单,那么为什么不朝着同一个方向前进呢? 我的意思是,亚马逊是最大的api供应商之一,如果他们使用它,他们有一个真正的理由这样做。
说完了,在不到两个小时的时间里,我的身份验证/授权协议已经启动并运行了,猜猜是什么,这很容易,很简单,我喜欢写它(不会因为oauth而感到沮丧)。 一篇帮助我开始的好文章是这样的: http : //www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/它基本上扼杀了你必须做的事情。
所以,如果我是你,我会从那里开始:)
也许这可能是有用的苗条HttpBasicAuth
您可以对每个请求使用HTTP基本身份验证来验证执行请求的用户是否是有效用户。
由于REST是无状态的,如果你想为不同的用户(ergo - 有状态)想要不同的数据表示,你几乎需要对它进行屠宰,这意味着每次请求你都会提供与特定实体无关的数据(关于用户状态)。
因此,无论是每次验证用户,还是临时cookie +会话,或者如果您涉及第三方,都要验证OAuth。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.