我正在使用scribe制作一个支持oauth的应用程序.我没有发现Twitter的问题,但使用Facebook时我有问题...
这是在twitter oauth上运行的代码
OAuthService s = /* ... Facebook oauth init ... */
final Token requestToken = s.getRequestToken();
final String authURL = s.getAuthorizationUrl(requestToken);
Run Code Online (Sandbox Code Playgroud)
它在第二行给出了一个错误:
12-20 10:01:31.475: E/AndroidRuntime(5405): java.lang.UnsupportedOperationException: Unsupported operation, please use 'getAuthorizationUrl' and redirect your users there
12-20 10:01:31.475: E/AndroidRuntime(5405): at org.scribe.oauth.OAuth20ServiceImpl.getRequestToken(OAuth20ServiceImpl.java:45)
Run Code Online (Sandbox Code Playgroud)
我知道它说我可能会使用getAuthorizationUrl ...但是我必须传递一个requestToken ...
请你帮助我好吗?
对Scribe和Facebook有任何帮助都会有所帮助
谢谢!
PS:Windows Live也存在同样的问题!=(
编辑:
我一直在查看Scribe库的源代码,我找到了一些东西
在这里,我们可以看到我可以使用null参数调用getAuthorizationUrl(...),因为它不使用它....但我认为prioblem现在是配置未填充...
这是我如何初始化Facebook服务:
new ServiceBuilder()
.provider(FacebookApi.class)
.apiKey(....)
.apiSecret(....)
.scope("email,offline_access")
.callback("oauth://facebook")
.build();
Run Code Online (Sandbox Code Playgroud)
它是否正确?
谢谢!
我的网站使用Oauth2与Google API进行通信.它工作正常.现在,我需要将其"符合Google Marketplace标准"列入其中.谷歌文档讲述了Oauth或联合登录,但它并没有预先确定Oauth2是否也能正常工作.
有没有人有这种整合的经验?我可以保留Oauth2并添加OpenID以与Marketplace一起使用,或者我必须为联合登录重做它吗?
谢谢!
openid oauth google-openid oauth-2.0 google-apps-marketplace
我正在尝试提高我的应用程序的限制,因为在大约50个请求之后,应用程序变得无法正常运行.我怎样才能做到这一点?
这是错误:
致命错误:未捕获OAuthException:(#341)已达到Feed操作请求限制
在过去的几周里,我一直在开发一个自定义的PHP登录类,我将在几天或几周内与其他开发人员分享,这取决于我将以多快的速度移动我将要问的内容下一个.
所以我的问题是,如何为我现有的登录应用程序进行Twitter登录?
作为更多信息,我正在使用数据库来存储用户名,密码的哈希值(我大部分时间都在使用的复杂算法,所以现在它非常安全),以及电子邮件地址,还有其他一些与此无关的信息.
这就是为什么我问,因为我已经看到了一些关于如何工作但没有使用数据库的示例和教程.事情是我需要以某种方式将凭证存储在同一个数据库中(根据需要添加新列),并且当用户想要登录时,将仅针对db检查凭证而不是再次转到twitter.
此外,只有用户在我的数据库中注册,他才可以使用twitter登录,我不确定这是否可行.
无论如何,主要问题是如何创建Twitter登录并同时使用数据库?
我有一个用xPages创建的公共网站,我的用户没有登录到Domino(即匿名),但我仍然希望显示已经登录到Facebook或Twitter的用户的信息,如图像或用户twitter流,也许让我们他们可以使用fb/twitter登录我的网站,这样我就可以存储一些关于它们的数据供下次访问.
我不想为此在任何domino目录中创建用户,而是将我需要的数据存储在应用程序中的配置文件/文档中.通过这种方式,我可以存储来自用户的数据,而无需在domino目录中创建新字段.
为了使它更容易理解.假设我想建立一个使用多米诺骨牌应用程序销售东西的产品网站.当用户进入网站时,他们可以选择注册我的应用程序或使用例如facebook或twitter登录.当他们购买商品或发表评论时,他们已经登录并且不需要输入用户数据.用户数据来自社交网络或我在我的应用程序中的配置文件.
现在谈谈一些问题......
使用多米诺骨牌应用程序可以轻松完成吗?或者使用其他平台构建它更快?
我知道我需要做一些oAuth身份验证来连接twitter和facebook,但是如何将这些数据连接到我的应用程序中的配置文件?
如果用户选择注册我的网站而不是登录到twitter/fb,我将如何对这些用户进行身份验证,并根据他们是使用Twitter登录还是使用我的个人资料文档来使用不同的身份验证.
我可以oAuth启用我的Domino应用程序吗?
/托马斯
我正在尝试使用zend gdata库(用于picasa)和一些oauth凭据来获得简单的工作.所以我不知道我是否正确地传递了OAuth的东西,每当我去创建一个画廊时,它试图找到不存在的'/Zend/Gdata/Photos/Extension/Title.php'.标题确实存在于App/Extension/Title.php下.不确定它是否与我在oauth中添加的方式有关,或者是否与自动加载器存在问题....
$oauthOptions = array(
//'requestScheme' => Zend_Oauth::REQUEST_SCHEME_HEADER,
'version' => '2.0',
'signatureMethod' => 'HMAC-SHA1',
'consumerKey' => $CONSUMER_KEY,
'consumerSecret' => $CONSUMER_SECRET
);
$consumer = new Zend_Oauth_Consumer($oauthOptions);
$service = Zend_Gdata_Photos::AUTH_SERVICE_NAME;
$accessToken = new Zend_Oauth_Token_Access();
$accessToken->setToken('1/cIxUGEzJtHMt58coKjKEJBBRJV6KFinqpBXl8fX9OG_8');
$accessToken->setTokenSecret('Ykl2junbg06Uy5MncejtmKIy');
$httpClient = $accessToken->getHttpClient($oauthOptions);
$service = new Zend_Gdata_Photos($httpClient); //, "yourCompany-YourAppName-v1"
$entry = new Zend_Gdata_Photos_AlbumEntry();
$entry->setTitle($service->newTitle("test album"));
$service->insertAlbumEntry($entry);
Run Code Online (Sandbox Code Playgroud) 我正在使用dotNetOpenAuth授权Google oAuth提供商.
我对以下区别之间的区别感到困惑:
consumerToken,consumerSecret,accessToken
从提供者我得到了accessToken一些用户.可以永远保持我吗?或者它会过期吗?
代码如何在不将用户重定向到"允许访问我的谷歌数据页面"的情况下启用授权?
我遇到了ActionScript 3.0的oAuth库.http://code.google.com/p/oauth-as3/
它似乎拥有你需要做的所有oAuth,但我无法做出正面或反面.我以前从未使用oAuth(或任何身份验证..),我不确定如何使用它.我找不到这个特定库的任何示例,或者任何关于oAuth和AS3的一般示例.
有人会介意我(或指导我一个教程)关于如何使用oAuth与Web API进行交互吗?具体来说,我正在寻找与Twitter交互的ActionScript 3.0.
任何帮助深表感谢!
我已经使用我设置的有效令牌进行了会话:
$session_token = Zend_Gdata_AuthSub::getAuthSubSessionToken($_GET['token']);
// Store the session token in our session.
$_SESSION['cal_token'] = $session_token;
Run Code Online (Sandbox Code Playgroud)
然后我希望能够这样做:
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$docs = new Zend_Gdata_Docs($client);
$feed = $docs->getDocumentListFeed();
Run Code Online (Sandbox Code Playgroud)
但是使用令牌.而不是使用user/pass/service进行身份验证
我已经看过一些这样的例子,但我没有找到任何方法让它工作.
谢谢大家!
我正在尝试配置HybridAuth,我还处于早期阶段.现在我要做的就是连接并确保HA将重定向到facebook并提示安装应用程序,然后在用户返回时对用户进行身份验证.
我手动调用以下内容:http: //mydomain.com/auth.php?provider = Facebook
auth.php看起来像这样:
session_start();
require_once($_SERVER['DOCUMENT_ROOT'] . "/func/db_connect.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/api/auth/Hybrid/Auth.php"); // HybridAuth Module
$hybridauth_config = include($_SERVER['DOCUMENT_ROOT'] . '/api/auth/config.php');
if ($_GET['provider'] == '' || !in_array($_GET['provider'], array_keys($hybridauth_config['providers']))) {
echo 'Invalid Provider';
} else {
try {
$hybridauth = new Hybrid_Auth($hybridauth_config);
// try to authenticate with this provider
$adapter = $hybridauth->authenticate($_GET['provider']);
// grab user profile
if ($hybridauth->isConnectedWith($f_provider)) {
// yep, we're connected. Add this provider's info to the user_auth table
echo 'connection successful';
}
} catch (Exception $e) …Run Code Online (Sandbox Code Playgroud)