如何在本地postgresql数据库中存储通过Janrain捕获身份验证进入Janrain数据库的注册表单的值。我的申请是在RoR。
答案 0 :(得分: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.
}
}
}