作为我问题的延伸-https://stackoverflow.com/q/36847384/658209
我在考虑使用OAuth1Session from requests_oauthlib来检索访问令牌和访问令牌机密值。我想做一些类似于下面例子中所做的事情:
<?php
/**
* Example of OAuth authorization n using Admin account via Magento REST API.
*/
$callbackUrl = "http://yourhost/oauth_admin.php";
$temporaryCredentialsRequestUrl = "http://magentohost/oauth/initiate?oauth_callback=" .
urlencode($callbackUrl);
$adminAuthorizationUrl = 'http://magentohost/admin/oauth_authorize';
$accessTokenRequestUrl = 'http://magentohost/oauth/token';
$apiUrl = 'http://magentohost/api/rest';
$consumerKey = 'yourconsumerkey';
$consumerSecret = 'yourconsumersecret';
session_start();
if (!isset($_GET['oauth_token']) && isset($_SESSION['state']) && $_SESSION['state'] == 1) {
$_SESSION['state'] = 0;
}
try {
$authType = ($_SESSION['state'] == 2) ? OAUTH_AUTH_TYPE_AUTHORIZATION :
OAUTH_AUTH_TYPE_URI;
$oauthClient = new OAuth($consumerKey, $consumerSecret,
OAUTH_SIG_METHOD_HMACSHA1, $authType);
$oauthClient->enableDebug();
if (!isset($_GET['oauth_token']) && !$_SESSION['state']) {68
$requestToken = $oauthClient->getRequestToken($temporaryCredentialsRequestUrl);
$_SESSION['secret'] = $requestToken['oauth_token_secret'];
$_SESSION['state'] = 1;
header('Location: ' . $adminAuthorizationUrl . '?oauth_token=' . $requestToken['oauth_token']);
exit;
} else if ($_SESSION['state'] == 1) {
$oauthClient->setToken($_GET['oauth_token'], $_SESSION['secret']);
$accessToken = $oauthClient->getAccessToken($accessTokenRequestUrl);
echo "oauth_token:".$accessToken['oauth_token']."<br/>";
echo "oauth_token_secret:".$accessToken['oauth_token_secret'];
exit;
} else {
echo "authorisation failed";
}
} catch (OAuthException $e) {
print_r($e);
}
我想出了以下代码:
^{pr2}$我不确定如何处理回调和重定向,而不是要求用户转到授权url,然后粘贴重定向url
编辑:在阅读了Robbie的评论后,我更新了我的代码,并将其分成两个端点。所以现在我的应用程序流程是这样的:
我现在的问题是最后一步(在提供者将用户重定向到消费者API之后,在用户授权之后),我是否能够将用户重定向到magentosetupcomplete.html通过使用return render_template('magentosetupcomplete.html')
向用户确认已生成并保存了访问令牌。我问这个是因为/callback端点已经从magento调用了。我不确定在这种情况下控制的流程是什么。在
目前没有回答
相关问题 更多 >
编程相关推荐