OmniAuth strategy for FamilySearch Identity v2 API (OAuth 1.0a).
There is also a companion strategy for the OAuth 2 API.
Note: FamilySearch requires web apps to use the OAuth 2 API.
Add this line to your application's Gemfile:
gem 'omniauth-familysearch-identity'
And then execute:
$ bundle
Or install it yourself as:
$ gem install omniauth-familysearch-identity
use OmniAuth::Builder do
provider :familysearch_identity, ENV['FAMILYSEARCH_DEVELOPER_KEY'], ''
end
# To use the sandbox API
use Omniauth::Builder do
provider :familysearch_identity, ENV['FAMILYSEARCH_DEVELOPER_KEY'], '',
:client_options => { :site => 'https://sandbox.familysearch.org' }
end
Here's an example Auth Hash available in request.env['omniauth.auth']
:
{
"provider" => "familysearch_identity",
"uid" => "jdoe",
"info" => {
"name" => "John Doe",
"email" => "[email protected]",
"nickname" => "jdoe",
"first_name" => "John",
"last_name" => "Doe"
},
"credentials" => {
"token" => "56421fc9ac",
"secret" => "6f532ad1bb"
},
"extra" => {
"access_token" => "56421fc9ac",
"raw_info" => {
"users" => [
"id" => "MMMM-QY4Y",
"username" => "jdoe",
"emails" => [
{
"type" => "Primary",
"value" => "[email protected]"
},
{
"type" => "Alternate",
"value" => nil
}
],
"names" => [
{
"type" => "Display",
"value" => "John Doe"
},
{
"type" => "Family",
"value" => "Doe"
},
{
"type" => "Given",
"value" => "John"
}
],
"preferences" => [
{
"name" => "language",
"value" => "en"
}
]
]
}
}
}
https://familysearch.org/developers/docs/guides/identity-v2
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request