A OmniAuth strategy for Twitch
Add the OmniAuth Twitch and OmniAuth rails_csrf_protection
gems to your Gemfile
gem 'omniauth-twitch' gem 'omniauth-rails_csrf_protection'
Here's an example for adding the middleware to a Rails app in config/initializers/omniauth.rb
:
Rails.application.config.middleware.use OmniAuth::Builder do provider :twitch, ENV["TWITCH_CLIENT_ID"], ENV["TWITCH_CLIENT_SECRET"] end
Here's an example Auth Hash available in request.env['omniauth.auth']
:
{ provider: 'twitch', uid: '12345678', info: { name: 'JohnDoe', email: 'johndoe@gmail.com', nickname: 'johndoe', description: 'My channel.', image: 'http://static-cdn.jtvnw.net/jtv-static/404_preview-300x300.png', urls: { Twitch: 'http://www.twitch.tv/johndoe' } }, credentials: { token: 'asdfghjklasdfghjklasdfghjkl', # OAuth 2.0 access_token, which you may wish to store expires: false # this will always be false, refresh_token: 'asdschbjh24h23yfsjfhbsjdc3a' # OAuth 2.0 refresh token, to renew the access token when it expires }, extra: { raw_info: { display_name: 'JohnDoe', id: '12345678', login: 'johndoe', type: '', broadcaster_type: '', description: 'My channel.', profile_image_url: 'https://static-cdn.jtvnw.net/user-default-pictures/0ecbb6c3-fecb-4016-8115-aa467b7c36ed-profile_image-300x300.jpg', offline_image_url: '', view_count: 100500, email: 'johdoe@gmail.com' } } }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4