2

SpringSocialを使用してLinkedinApiへの接続を設定するのに問題があります。

「scope」変数「r_emailaddress」をフォームの非表示フィールドとして渡して、メールアドレスを取得していますが、機能していません。ここでのように、email_address権限が表示されません。https://developer.linkedin.com/sites/default/files/gp-dialog.png

SpringSocialShowcaseのアプリケーション例に従っています。追加する必要があります。ソーシャルアプリケーションには、非表示のスコープフィールドはありません。

Facebookで問題なく動作します。

<form name="linkedinin_signin" id="linkedin_signin" action="${linkedin_uri}" method="POST">
    <input type="hidden" name="scope" value="r_basicprofile, r_emailaddress" />
    <input type="image" src="${linkedin_img_uri}" />
</form>
4

4 に答える 4

5

LinkedInがOAuth1.0aプロバイダーであり、「scope」パラメーターがOAuth 1.0(a)に関して非標準であることは正しいです。したがって、Spring SocialはOAuth1.0(a)プロバイダーのスコープパラメーターを認識しませんでした。

ただし、昨日、Spring Socialに変更をプッシュして、「scope」パラメーターを含む任意のパラメーターをリクエストトークンURLと承認URLに渡すことができるようにすることを知っておくとよいでしょう。この変更は比較的新しいものであり、最新の1.1.0.BUILD-SNAPSHOTビルドでのみ利用可能ですが、まもなく1.1.0.M2で登場します。これはあなたのニーズに対応するはずです。

また、Spring Social Showcaseの例もご覧ください。これは、ユーザーがLinkedInに接続したときに、「scope」パラメーターを使用して「r_emailaddress」スコープを要求するようになったためです。

この変更について、できればhttps://jira.springsource.org/browse/SOCIAL-349へのコメントまたはSpring Socialフォーラム(http://forum.springsource.org/forumdisplay)でフィードバックをお寄せいただければ幸いです。 php?82-ソーシャル。(私は、Spring Socialフォーラムで行うほど頻繁にStackOverflowで質問を監視していません。)

于 2013-02-09T00:29:52.060 に答える
2

LinkedInでも同じ問題が発生しました。これが私がそれを解決するためにしたことです:

それ以外の

    final OAuth1Parameters params = new OAuth1Parameters();
    params.set("scope", "r_emailaddress r_basicprofile");

fetchRequestTokenを使用してマップを送信する必要がありました

    final MultiValueMap<String, String> mvm = new LinkedMultiValueMap<String, String>();
    mvm.add("scope", "r_emailaddress");
    mvm.add("scope", "r_basicprofile");
    inRequestToken = oauth1Operations.fetchRequestToken(redirectUri, mvm);
于 2013-02-04T15:29:48.430 に答える
1

LinkedInは、SpringSecurityによってOAuth1プロバイダーとして認識されています。OAuth1は「アクセストークンスコープ」機能をサポートしていません。したがって、スコープパラメータは黙って無視されます。実際、LinkedInは、スコープをサポートする非公式のOAuth1.0aプロトコルバージョンを使用しています。回避策として、いくつかのSpringSocialクラスをオーバーライドし、スコープパラメーターをLinkedInに送信することができます。このスレッドを参照してください。

于 2013-01-28T11:15:06.580 に答える
0

LinkedInのoAuth1APIはスコープパラメータをまったくサポートしていません。メールアドレスを取得するには、 oAuth2( http://developer.linkedin.com/documents/authentication )を使用する必要があります。

于 2013-04-28T08:32:57.907 に答える