2016-10-13 6 views

ответ

1

Во-первых, вам не нужно хранить данные регистрационной формы в вашей собственной базе данных. Это было бы излишним при использовании регистрации Janrain.

После аутентификации пользователя и маркер JanRain 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"]' 

Вы, вероятно, следует связать обработчик событий JanRain зарегистрирования 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," secret "=>" myapikey "} end def retrieve_results @id = params [: id] @url =" https://myapp.janraincapture.com/entity?access_token=#{@id} "@ab = JSON.parse (getData) end' –

+0

Nevermind ... Спасибо за помощь. Вы отлично! –

+0

oh yeah Я уже проголосовал за ваши ответы, но сейчас моя репутация <15 :-( –

 Смежные вопросы

  • Нет связанных вопросов^_^