|
1 | 1 | require "open-uri"
|
2 | 2 |
|
3 |
| -module Auth2 |
4 |
| - class CallbacksController < Devise::OmniauthCallbacksController |
5 |
| - skip_before_action :verify_authenticity_token, only: :developer |
| 3 | +module OmbuLabs |
| 4 | + module Auth |
| 5 | + class CallbacksController < Devise::OmniauthCallbacksController |
| 6 | + skip_before_action :verify_authenticity_token, only: :developer |
6 | 7 |
|
7 |
| - def github |
8 |
| - username = request.env["omniauth.auth"]["extra"]["raw_info"]["login"] |
| 8 | + def github |
| 9 | + username = request.env["omniauth.auth"]["extra"]["raw_info"]["login"] |
9 | 10 |
|
10 |
| - organization_name = ENV["ORGANIZATION_LOGIN"] |
11 |
| - member_logins = organization_members.map { |member| member["login"] } |
| 11 | + organization_name = ENV["ORGANIZATION_LOGIN"] |
| 12 | + member_logins = organization_members.map { |member| member["login"] } |
12 | 13 |
|
13 |
| - if username.in?(member_logins) |
| 14 | + if username.in?(member_logins) |
| 15 | + @user = User.from_omniauth(request.env["omniauth.auth"]) |
| 16 | + sign_in_and_redirect @user |
| 17 | + else |
| 18 | + flash[:error] = "This application is only available to members of #{organization_name}." |
| 19 | + redirect_to new_user_session_path |
| 20 | + end |
| 21 | + end |
| 22 | + |
| 23 | + def developer |
14 | 24 | @user = User.from_omniauth(request.env["omniauth.auth"])
|
15 | 25 | sign_in_and_redirect @user
|
16 |
| - else |
17 |
| - flash[:error] = "This application is only available to members of #{organization_name}." |
18 |
| - redirect_to new_user_session_path |
19 | 26 | end
|
20 |
| - end |
21 |
| - |
22 |
| - def developer |
23 |
| - @user = User.from_omniauth(request.env["omniauth.auth"]) |
24 |
| - sign_in_and_redirect @user |
25 |
| - end |
26 | 27 |
|
27 |
| - private |
| 28 | + private |
28 | 29 |
|
29 |
| - def organization_members |
30 |
| - @organization_members ||= begin |
31 |
| - members_raw_response = URI.open("https://api.github.com/orgs/#{ENV["ORGANIZATION_LOGIN"]}/members").read |
32 |
| - JSON.parse(members_raw_response) |
| 30 | + def organization_members |
| 31 | + @organization_members ||= begin |
| 32 | + members_raw_response = URI.open("https://api.github.com/orgs/#{ENV["ORGANIZATION_LOGIN"]}/members").read |
| 33 | + JSON.parse(members_raw_response) |
| 34 | + end |
33 | 35 | end
|
34 | 36 | end
|
35 | 37 | end
|
|
0 commit comments