【问题标题】:OAuth Authentication with Evernote (Using Java+Signpost)使用 Evernote 进行 OAuth 身份验证(使用 Java+Signpost)
【发布时间】:2010-03-12 19:20:38
【问题描述】:

我正在尝试使用 OAuth 身份验证来连接到各种服务。在大多数情况下,这是可行的(使用 twitter/photobucket 测试),但使用 evernote,我收到了 400 响应代码。

这里有什么问题?

OAuthConsumer consumer = new DefaultOAuthConsumer( "myConsumerKey", "myConsumerSecret" );
OAuthProvider provider = new DefaultOAuthProvider( "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/OAuth.action" );

String authUrl = provider.retrieveRequest( consumer, OAuth.OUT_OF_BAND );

这适用于 Twitter + Photobucket,那么为什么不使用 evernote?我正在使用Signpost 1.2,除了这个提供商之外,它一直很棒。

【问题讨论】:

    标签: java oauth evernote signpost


    【解决方案1】:

    很可能是签名者。 Evernote 仅支持纯文本签名。您也可能会收到 405,如果是这种情况,请覆盖 createRequest 方法以使用 GET 而不是 POST。

    AuthConsumer consumer = new DefaultOAuthConsumer( "myConsumerKey", "myConsumerSecret" );
    consumer.setMessageSigner( new PlainTextMessageSigner() );
    OAuthProvider provider = new DefaultOAuthProvider( "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/oauth", "https://sandbox.evernote.com/OAuth.action" );
    String authUrl = provider.retrieveRequest( consumer, OAuth.OUT_OF_BAND );
    

    顺便说一句,我通过社区支持论坛得到了这个答案,我不够聪明,无法自己解决。 ;-)

    【讨论】:

      【解决方案2】:

      我们最近添加了对 HMAC-SHA1 签名的支持,因此您无需再更改 messageSigner。您将需要使用 GET 而不是 POST。如需更多信息,请访问我们的forum post

      【讨论】:

        猜你喜欢
        • 2012-12-16
        • 2011-01-27
        • 1970-01-01
        • 2011-10-20
        • 2014-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多