OmniAuth strategy for Kongregate
Ruby JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
.travis.yml
Gemfile
Guardfile
LICENSE
README.md
Rakefile
omniauth-kongregate.gemspec

README.md

OmniAuth::Kongregate CI status

OmniAuth strategy for Kongregate authentication

Usage

Current version is mostly focused on auto-detecting the logged-in user when the application is running on a canvas.

Just add the provider as usual, passing your app's Kongregate API key (add /api to the URL to get it). For example:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :kongregate, 'YOUR_API_KEY'
end

When your game is first open on Kongregate, redirect to /auth/kongregate (preserving the kongregate_user_id and kongregate_game_auth_token parameters) to perform the authentication.

If the token is valid, /auth/kongregate/callback will fire. You can get the validated user_id and the username there with:

auth = request.env['omniauth.auth']
user_id = auth.uid
username = auth.extras['username']

Guest Access

Guest access (users that are not logged in on Kongregate) will result in an auto-generated, non-numeric value in user_id (so it won't clash with kongregate_user_id), prefixed with "g_", so applications have a set of temporary credentials until the user decides to authenticate.

TODO

  • Display the Kongregate login form for non-authenticated users

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Special Thanks

  • pmariano, for implementing guest access.