2016-10-13 5 views

答えて

1

まず、自分のデータベースに登録フォームのデータを保存する必要はありません。 Janrain Registrationを使用すると、それは冗長になります。

ユーザーが認証され、受け付けを開始OAuthのトーク​​ンを使用すると、エンティティのエンドポイントを呼び出すためにそのトークンを使用することができます登録ウィジェットに送信された後:

https://SOME_APP_NAME.janraincapture.com/entity?access_token=someaccesstoken 

これはJSON形式で認証されたユーザのプロファイルデータを返します。 。ここに記載されているようにあなたは、属性のパラメータを使用してフィールドをフィルタリングすることができますhttps://docs.janrain.com/api/registration/entity/

https://SOME_APP_NAME.janraincapture.com/entity?access_token=someaccesstoken&attributes='["uuid","familyName","givenName"]' 

おそらく受け付けを開始登録Javascriptのイベントハンドラにバインドする必要があります。「onCaptureCreateSession」アクセストークンが含まれています解雇しました。次に、そのトークンをサーバーに送信してエンティティーAPI呼び出しを行い、関連するデータをサーバーに保管します(必要な場合)。

janrain.events.onCaptureSessionCreated.addHandler(function(result) { 
    //make an ajax call to your server here with the token: 
    var token = result.accessToken 
}); 

フォームは、フォームのをonSubmitイベントに結合し、それが提出される前に、単にフォームからフィールドデータを取得する可能性が提出される前に、あなたは絶対にフォームフィールドのデータを取得する必要があります。これは、プレーンなJavascriptまたはほとんどのメインストリームライブラリを使用して達成できるはずです。

ここであなたが始める必要がある例を示します

janrain.events.onCaptureRenderComplete.addHandler(function(result) { 
 
    if (result.renderingBuiltInScreen == false) { 
 
    //NOTE: screen names can be configuration dependent. 
 
    if(result.screen == "traditionalRegistration" || result.screen == "socialRegistration"){ 
 
     //bind to rendered form here and do stuff 
 
     //form names and field names are configuration dependent. 
 
    } 
 
    } 
 
}

+0

私は私のブラウザでhttps://MY_APP_NAME.janraincapture.com/entity?access_token=someaccesstokenを打っていたとき、私がすることができますJSON形式のデータを参照してください。しかし、私のコントローラで同じことをしているときは、私はただURLを取得しています。私のコントローラコードは: 'class UsersController :json、"秘密 "=>" myapikey "} end def retrieve_results @id = params [:id] @url =" https://myapp.janraincapture.com/entity?access_token=#{idid "" @ab = JSON.parse (getData)end' –

+0

Nevermind ...助けてくれてありがとう!あなたは素晴らしいです!! –

+0

ああ、私はすでにあなたの答えを投票しましたが、今私の評判は<15 :-( –

関連する問題