Skip to content

Commit 35ee99f

Browse files
committed
Release 1.6.0
1 parent 07d7060 commit 35ee99f

File tree

6 files changed

+154
-9
lines changed

6 files changed

+154
-9
lines changed

examples/Gemfile.lock

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
httparty (0.16.2)
4+
httparty (0.18.0)
5+
mime-types (~> 3.0)
56
multi_xml (>= 0.5.2)
7+
mime-types (3.3.1)
8+
mime-types-data (~> 3.2015)
9+
mime-types-data (3.2020.0425)
610
mini_portile2 (2.4.0)
711
multi_xml (0.6.0)
8-
nokogiri (1.10.4)
12+
nokogiri (1.10.9)
913
mini_portile2 (~> 2.4.0)
10-
onelogin (1.2.1)
14+
onelogin (1.6.0)
1115
httparty (>= 0.13.7)
1216
nokogiri (>= 1.6.3.1)
1317

@@ -18,4 +22,4 @@ DEPENDENCIES
1822
onelogin
1923

2024
BUNDLED WITH
21-
1.16.0.pre.3
25+
2.1.4
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
require 'onelogin'
2+
3+
client = OneLogin::Api::Client.new(
4+
client_id: '9a19e9b07257c30ed3eddc0f9cf8d4127b4387646940acc8432c0dbcbd5f0c0d',
5+
client_secret: 'd5cfcbe70b626f1d131f632c398b5b0d60dbc149b9ad9a55ac33715c7239acf7',
6+
region: 'us',
7+
max_results: 50000
8+
)
9+
10+
client.access_token
11+
12+
unless client.error.nil?
13+
puts "Error #{client.error} #{client.error_description}"
14+
exit
15+
end
16+
17+
18+
user_attribute_names = ['id', 'username', 'email']
19+
event_attribute_names = ['created_at', 'user_id', 'user_name', 'ipaddr', 'app_id', 'app_name']
20+
csv_event_header = ['Timestamp', 'Description', 'Username', 'App', 'IP Address', 'User Id', 'Email', 'App Id']
21+
22+
user_options = {}
23+
user_options[:fields] = user_attribute_names.join(",")
24+
25+
26+
now = Date.today
27+
days_ago = (now - 1)
28+
event_options = {}
29+
event_options[:since] = days_ago.strftime('%Y-%m-%dT%H:%M:%SZ')
30+
event_options[:event_type_id] = 8;
31+
event_options[:fields] = event_attribute_names.join(",")
32+
event_options[:sort] = "-created_at"
33+
34+
now_str = Time.now.strftime("%Y-%m-%d_%H-%M-%S")
35+
login_app_event_csv_name = now_str + '_login_app_events.csv'
36+
login_event_csv_name = now_str + '_login_events.csv'
37+
radius_event_csv_name = now_str + '_radius_events.csv'
38+
39+
users = {}
40+
counter = 0
41+
42+
rate_limits = client.get_rate_limits
43+
remaining_before = rate_limits.remaining
44+
puts "Remaining RateLimit: #{remaining_before}"
45+
46+
puts "Extracting users from OneLogin"
47+
48+
client.get_users(user_options).each do |user|
49+
users[user.id] = user
50+
counter +=1
51+
end
52+
puts "#{counter} users extracted"
53+
54+
csv_login_app_event_header = ['Timestamp', 'Description', 'Username', 'App', 'IP Address', 'User Id', 'App Id', 'Email']
55+
csv_login_event_header = ['Timestamp', 'Description', 'Username', 'IP Address', 'User Id', 'Email']
56+
57+
puts "Extracting login app events from OneLogin"
58+
counter = 0
59+
CSV.open(login_app_event_csv_name, 'wb') do |csv|
60+
# header row
61+
csv << csv_login_app_event_header
62+
63+
# fetch the events
64+
client.get_events(event_options).each do |event|
65+
username = email = ""
66+
description = "#{event.user_name} signed into #{event.app_name}"
67+
unless users.nil?
68+
if users.has_key?(event.user_id)
69+
username = users[event.user_id].username
70+
email = users[event.user_id].email
71+
end
72+
end
73+
csv << [event.created_at, description, username, event.app_name, event.ipaddr, event.user_id, event.app_id, email]
74+
counter +=1
75+
end
76+
end
77+
puts "Exported #{counter} login app events to #{login_app_event_csv_name}"
78+
79+
rate_limits = client.get_rate_limits
80+
remaining_after = rate_limits.remaining
81+
puts "Remaining RateLimit: #{remaining_after}"
82+
83+
84+
event_options[:event_type_id] = 5;
85+
puts "Extracting login events from OneLogin"
86+
counter = 0
87+
CSV.open(login_event_csv_name, 'wb') do |csv|
88+
# header row
89+
csv << csv_login_event_header
90+
91+
# fetch the events
92+
client.get_events(event_options).each do |event|
93+
username = email = ""
94+
description = "#{event.user_name} logged into OneLogin"
95+
unless users.nil?
96+
if users.has_key?(event.user_id)
97+
username = users[event.user_id].username
98+
email = users[event.user_id].email
99+
end
100+
end
101+
csv << [event.created_at, description, username, event.ipaddr, event.user_id, email]
102+
counter +=1
103+
end
104+
end
105+
puts "Exported #{counter} login events to #{login_event_csv_name}"
106+
107+
rate_limits = client.get_rate_limits
108+
remaining_after = rate_limits.remaining
109+
puts "Remaining RateLimit: #{remaining_after}"
110+
111+
112+
event_options[:event_type_id] = 68;
113+
puts "Extracting login radius events from OneLogin"
114+
counter = 0
115+
CSV.open(radius_event_csv_name, 'wb') do |csv|
116+
# header row
117+
csv << csv_login_event_header
118+
119+
# fetch the events
120+
client.get_events(event_options).each do |event|
121+
username = email = ""
122+
description = "#{event.user_name} logged via Radius"
123+
unless users.nil?
124+
if users.has_key?(event.user_id)
125+
username = users[event.user_id].username
126+
email = users[event.user_id].email
127+
end
128+
end
129+
csv << [event.created_at, description, username, event.ipaddr, event.user_id, email]
130+
counter +=1
131+
end
132+
end
133+
puts "Exported #{counter} radius events to #{radius_event_csv_name}"
134+
135+
rate_limits = client.get_rate_limits
136+
remaining_after = rate_limits.remaining
137+
puts "Remaining RateLimit: #{remaining_after}"
138+
139+
140+
consumed = remaining_before - remaining_after
141+
puts "The script consumed #{consumed} calls"

examples/rails-custom-login-page/Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ gem 'jbuilder', '~> 2.5'
3333
# Use Capistrano for deployment
3434
# gem 'capistrano-rails', group: :development
3535

36-
gem 'onelogin', '~> 1.5.0'
36+
gem 'onelogin', '~> 1.6.0'
3737
gem 'jquery-rails'
3838

3939
group :development, :test do

examples/rails-custom-login-page/Gemfile.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ GEM
100100
nio4r (2.3.0)
101101
nokogiri (1.10.4)
102102
mini_portile2 (~> 2.4.0)
103-
onelogin (1.5.0)
103+
onelogin (1.6.0)
104104
httparty (>= 0.13.7)
105105
nokogiri (>= 1.6.3.1)
106106
public_suffix (3.0.2)

lib/onelogin/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module OneLogin
2-
VERSION = "1.5.0"
2+
VERSION = "1.6.0"
33
end

onelogin.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
3939
spec.add_runtime_dependency('httparty', '>=0.13.7')
4040
spec.add_runtime_dependency('nokogiri', '>=1.6.3.1')
4141

42-
spec.add_development_dependency "bundler", "~> 1.15"
42+
spec.add_development_dependency "bundler"
4343
spec.add_development_dependency "rake", "~> 10.0"
4444
spec.add_development_dependency "rspec", "~> 3.0"
45-
end
45+
end

0 commit comments

Comments
 (0)