omniauth-crest 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95bd2da66661482fd894097e740d529a941227fd
4
- data.tar.gz: 6f2ecb58517599bdd1e9bf5166bc4687da7a68b0
3
+ metadata.gz: bbd4a5b224ce5cd27925fc3b0e62fe0757505951
4
+ data.tar.gz: 2af90c1dd9aa2d8e673742c9c6467ed9761937d5
5
5
  SHA512:
6
- metadata.gz: bdb17a11c058e6cfc9370d3c1182358321ccb7b85fcbe11528424abc2eeed9e9c9ca863854d96544949c59a3f479846aa46dee1cde6446cf73a1525150a19e33
7
- data.tar.gz: 6d09758a8c1a6ce2032d0737441c620a1ebed863d8201f8a41d8fafa40119406f66275f00f040d0602df8a2044756c500abb5889de00e05cefb60687910f4a86
6
+ metadata.gz: 968beaeba5e09348dedb97fde4ed4334313389c2feb808a3e3d7cb1f06c63ff88cae7588884f29437db2706a6180022dd43e32bbe9bab9c551a76807c076c360
7
+ data.tar.gz: 6c9b3d99a165a8a694f98ba86eed7001734777a2aa92688aaabf5a593406054f7ee08f629f12fb25c7ec5c14496a327ab86734ede4b708cd3265fb53091af5d5
data/README.md CHANGED
@@ -65,6 +65,101 @@ Put in your Client ID and Secret Key of course. You can get them from https://de
65
65
 
66
66
  For more information on OmniAuth see [the OmniAuth Wiki](https://github.com/intridea/omniauth/wiki).
67
67
 
68
+ ## Scopes & Authenticated CREST
69
+
70
+ If you wish to define app-wide scopes for authenticated CREST, add a scope
71
+ parameter to the middleware:
72
+
73
+ ```ruby
74
+ # Rails:
75
+ # config/initializers/omniauth.rb
76
+ Rails.application.config.middleware.use OmniAuth::Builder do
77
+ provider :crest, 'client_id', 'secret_key',
78
+ scope: 'publicData characterLocationRead'
79
+ end
80
+
81
+ # OR
82
+
83
+ # Rack
84
+ use OmniAuth::Builder do
85
+ provider :crest, 'client_id', 'secret_key',
86
+ scope: 'publicData characterLocationRead'
87
+ end
88
+ ```
89
+
90
+ ### Possible Scopes
91
+
92
+ As of `2016-05-12`:
93
+
94
+ * __characterAccountRead__: Read your account subscription status.
95
+ * __characterAssetsRead__: Read your asset list.
96
+ * __characterBookmarksRead__: List your bookmarks and their coordinates.
97
+ * __characterCalendarRead__: Read your calendar events and attendees.
98
+ * __characterChatChannelsRead__: List chat channels you own or operate.
99
+ * __characterClonesRead__: List your jump clones, implants, attributes, and jump
100
+ fatigue timer.
101
+ * __characterContactsRead__: Allows access to reading your characters contacts.
102
+ * __characterContactsWrite__: Allows applications to add, modify, and delete
103
+ contacts for your character.
104
+ * __characterContractsRead__: Read your contracts.
105
+ * __characterFactionalWarfareRead__: Read your factional warfare statistics.
106
+ * __characterFittingsRead__: Allows an application to view all of your
107
+ character's saved fits.
108
+ * __characterFittingsWrite__: Allows an application to create and delete the
109
+ saved fits for your character.
110
+ * __characterIndustryJobsRead__: List your industry jobs.
111
+ * __characterKillsRead__: Read your kill mails.
112
+ * __characterLocationRead__: Allows an application to read your characters real
113
+ time location in EVE.
114
+ * __characterLoyaltyPointsRead__: List loyalty points your character has for the
115
+ different corporations.
116
+ * __characterMailRead__: Read your EVE Mail.
117
+ * __characterMarketOrdersRead__: Read your market orders.
118
+ * __characterMedalsRead__: List your public and private medals.
119
+ * __characterNavigationWrite__: Allows an application to set your ships
120
+ autopilot destination.
121
+ * __characterNotificationsRead__: Receive in-game notifications.
122
+ * __characterOpportunitiesRead__: List the opportunities your character has
123
+ completed.
124
+ * __characterResearchRead__: List your research agents working for you and
125
+ research progress.
126
+ * __characterSkillsRead__: Read your skills and skill queue.
127
+ * __characterStatsRead__: Yearly aggregated stats about your character.
128
+ * __characterWalletRead__: Read your wallet status, transaction, and journal
129
+ history.
130
+ * __corporationAssetRead__: Read your corporation's asset list.
131
+ * __corporationBookmarksRead__: List your corporation's bookmarks and their
132
+ coordinates.
133
+ * __corporationContractsRead__: List your corporation's contracts.
134
+ * __corporationFactionalWarfareRead__: Read your corporation's factional warfare
135
+ statistics.
136
+ * __corporationIndustryJobsRead__: List your corporation's industry jobs.
137
+ * __corporationKillsRead__: Read your corporation's kill mails.
138
+ * __corporationMarketOrdersRead__: List your corporation's market orders.
139
+ * __corporationMedalsRead__: List your corporation's issued medals.
140
+ * __corporationMembersRead__: List your corporation's members, their titles, and
141
+ roles.
142
+ * __corporationShareholdersRead__: List your corporation's shareholders and
143
+ their shares.
144
+ * __corporationStructuresRead__: List your corporation's structures, outposts,
145
+ and starbases.
146
+ * __corporationWalletRead__: Read your corporation's wallet status, transaction,
147
+ and journal history.
148
+ * __fleetRead__: Allows real time reading of your fleet information (members,
149
+ ship types, etc.) if you're the boss of the fleet.
150
+ * __fleetWrite__: Allows the ability to invite, kick, and update fleet
151
+ information if you're the boss of the fleet.
152
+ * __publicData__: Allows access to public data.
153
+ * __structureVulnUpdate__: Allows updating your structures' vulnerability
154
+ timers.
155
+
156
+ ### Per-Request Options
157
+
158
+ If you want to define the scope on a per-request basis, you can pass it to the
159
+ OmniAuth request phase URL, for example:
160
+ `/auth/crest?scope=publicData+characterLocationRead`
161
+
162
+
68
163
  ## Questions
69
164
 
70
165
  Ask me on Twitter at [@dratir](https://twitter.com/dratir).
@@ -1,5 +1,5 @@
1
1
  module OmniAuth
2
2
  module Crest
3
- VERSION = '1.1.0'
3
+ VERSION = '1.2.0'
4
4
  end
5
5
  end
@@ -29,6 +29,18 @@ module OmniAuth
29
29
  def raw_info
30
30
  @raw_info ||= access_token.get('/oauth/verify').parsed
31
31
  end
32
+
33
+ def authorize_params
34
+ super.tap do |params|
35
+ %w[scope].each do |v|
36
+ if request.params[v]
37
+ params[v.to_sym] = request.params[v]
38
+ end
39
+ end
40
+
41
+ params[:scope] ||= ''
42
+ end
43
+ end
32
44
  end
33
45
  end
34
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniauth-crest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manuel Hutter
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-05 00:00:00.000000000 Z
11
+ date: 2016-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
88
88
  version: '0'
89
89
  requirements: []
90
90
  rubyforge_project:
91
- rubygems_version: 2.4.5
91
+ rubygems_version: 2.5.1
92
92
  signing_key:
93
93
  specification_version: 4
94
94
  summary: OmniAuth strategy for CREST/EVE Online