deleting files

parent 693f1baf
require 'account_controller'
require 'json'
class RedmineOauthController < AccountController
def oauth_google
ds
redirect_to oauth_client.auth_code.authorize_url(redirect_uri: oauth_google_callback_url, scope: scopes)
end
def oauth_google_callback
token = oauth_client.auth_code.get_token(params[:code], redirect_uri: oauth_google_callback_url)
result = token.get('https://www.googleapis.com/oauth2/v1/userinfo')
binding.pr
info = JSON.parse(result.body)
if info && info["verified_email"]
user = User.find_or_initialize_by_mail(info["email"])
if user.new_record?
# Self-registration off
redirect_to(home_url) && return unless Setting.self_registration?
# Create on the fly
user.firstname, user.lastname = info["name"].split(' ') unless info['name'].nil?
user.firstname ||= info[:given_name]
user.lastname ||= info[:family_name]
user.mail = info["email"]
login = info["email"].match(/(.+)@/) unless info["email"].nil?
user.login = login[1] if login
user.login ||= [user.firstname, user.lastname]*"."
user.random_password
user.register
case Setting.self_registration
when '1'
register_by_email_activation(user) do
onthefly_creation_failed(user)
end
when '3'
register_automatically(user) do
onthefly_creation_failed(user)
end
else
register_manually_by_administrator(user) do
onthefly_creation_failed(user)
end
end
else
# Existing record
if user.active?
successful_authentication(user)
else
account_pending
end
end
else
flash[:error] = l(:notice_unable_to_obtain_google_credentials)
redirect_to signin_path
end
end
def oauth_client
@client ||= OAuth2::Client.new(settings[:client_id], settings[:client_secret],
site: 'https://accounts.google.com',
authorize_url: '/o/oauth2/auth',
token_url: '/o/oauth2/token')
end
def settings
@settings ||= Setting.plugin_redmine_omniauth_google
end
def scopes
'https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile'
end
end
\ No newline at end of file
<p><%= "render with google" %></p>
\ No newline at end of file
<h2>RedmineOmniauthController#omniauth_google</h2>
require File.expand_path('../../test_helper', __FILE__)
#require File.expand_path('../../../lib/helpers/mail_helper', __FILE__)
class RedmineOauthControllerTest < ActionController::TestCase
include Helpers::MailHelper
......
require File.expand_path('../../test_helper', __FILE__)
class RedmineOmniauthControllerTest < ActionController::TestCase
# Replace this with your real tests.
def test_truth
assert true
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment