2011-08-31 135 views
0

我有一个asp网络mvc网站,我想为某些动作提供一个API(json输出),我在想我应该在哪里使用api key,api id或者。api key and id in restful api

我想我可以将我的api方法分成两种类型:简单的获取动作的那些,以及需要在我的网站上被记录的那些动作。

对于第一个,没有必要进行身份验证,所以使用我的api的人将被允许没有任何检查,不需要任何密钥给他。可以吗?

对于第二种操作,他必须知道最终用户密码(连接)。所以我应该为api消费者使用api密钥(然后检查我是否可以信任api消费者)?或者我应该使用OAuth和令牌机制(看起来很复杂)?或者我应该使用带有hmac校验和的公钥/私钥?

我知道比这种问题经常出现,但在这里我想知道什么是最简单的方式来处理我的情况,什么是无用的在我的情况。

感谢

回答

0

对于第一个的,也没有必要的身份验证,所以有人谁 消耗我的API将没有任何检查,没必要对他任意键 被允许。可以吗?

是的。

对于第二种操作,他必须知道最终用户密码 (连接)。所以我应该为API消费者使用api密钥(然后 检查我是否可以信任api消费者)?

这将是最简单的。在您的数据库中有一个您要提供给客户的密钥列表,然后要求消费者传递他的密钥以识别他。