这似乎是一个简单的问题,但我无法在任何地方找到简单的解释。我确定我只是在寻找错误的东西,所以请耐心等待......
如果我使用Twitter REST API(例如)并使用OAuth对用户进行身份验证,那么在初始身份验证后发送API请求时,如何向Twitter验证我是否具有相应的凭据?我是否应该在每次与API通信时提交AuthToken(通过GET
/ POST
变量?看似简单,但Twitter API中没有方法的“可选”身份验证参数。
由于我使用PHP访问Twitter API,我偶然发现了这段代码:
$connection = getConnectionWithAccessToken("abcdefg", "hijklmnop");
$content = $connection->get("statuses/home_timeline");
这是否意味着您只需在每次访问API时进行身份验证?
例如:
In index.php:
1. authenticate
2. access desired API methods
3. Finish loading page
User navigates to page2.php
In page2.php:
1. authenticate...again
2. access desired API methods...again
3. Finish loading page
User navigates to page3.php
In page3.php:
1. authenticate...again!
2. access desired API methods...again
3. Finish loading page
这似乎令人沮丧的重复,每次都像这样认证,但似乎这是必要的。以上是否解释了OAuth的要点(更重要的是,一般的身份验证)?
答案 0 :(得分:3)
OAuth协议使用access_token
之类的会话ID,当您的用户已经授权访问您的网站时,您可以使用API服务器授予您访问其API的access_token
。
因此,从技术上讲,您没有对每个请求进行身份验证,Twitter仅使用“SessionID”来识别您的进一步请求。