2

私は実際にFacebookの接続にこのjs関数を使用しています。

window.fbAsyncInit = function(){
   FB.init({ 
    appId: '371***********',
     status: true,
      cookie: true,
       xfbml: true ,
       oauth:true,
       channelUrl: '<?php echo base_url(); ?>fb-channel-file.php' //this domain
     });
};
(function() {
   var e = document.createElement('script');
   e.type = 'text/javascript';
   e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
   e.async = true;
   document.getElementById("fb-root").appendChild(e);
}());
// FB LOGIN -->

function FBlogin(){
  FB.getLoginStatus(function(r){
    FB.login(function(response) {
      if(response.authResponse) {
        $.ajax({
          type:'GET',
          url: _config_base_url+'/auth/ajax_login',
          dataType:'json',
          data:{'fb_at':response.authResponse.accessToken},
          beforeSend:function(){
            notify('Loading ...',false,'notify-info');
          },
          error:function(_response){
              notify('An error occurred, please try again later.',false); 

            },
            success:function(json){
              notify_destroy();

              window.location.href= _config_base_url+'/profile';

            }
          });
      } else {}
    },{scope:'email'/*,user_birthday,user_location*/});
  });
}

Twitter今、私は を介し​​て人々が接続できるようにするための同じ/まったく同じ機能を再現したいと思いますGoogle+Twitter oAuth.

何か案が?

4

1 に答える 1

3

アップデート

元の回答

  • Twitter での JavaScript OAuth サインインに対するこの回答は、セキュリティ上の理由から、それが不可能であるか、最善の方法ではないことを示しています。

    これに関する問題は、あなたのページを表示する人は誰でも、非公開にしておく必要があるコンシューマー キーとシークレットを表示できることです。

    ...

    Twitterは、このようなことが起こらないように、これらの値を非公開に保つために可能な限りの努力をしなければならないと述べています

    残念ながら、ブラウザ ベースの JavaScript で oAuth を安全に使用する方法は現在ありません。

  • jsOAuthは役に立つかもしれませんが、上記の回答で述べたように、セキュリティが問題です。

    jsOAuth は、OAuth プロトコルを実装する JavaScript ライブラリです。jsOAuth は、Twitter や Yahoo などのカスタム クライアントの基盤を形成することを目的としています。

    ...

    セキュリティ上の理由から、jsOAuth はブラウザでは実行されません。ここでは、テスト スイートを実行するためのブラウザーについてのみ説明します。

于 2013-01-16T13:20:33.137 に答える