parent
17122df80d
commit
a9e40a3d80
@ -1,14 +1,60 @@ |
|||||||
Rails: |
Rails: |
||||||
Enabled: true |
Enabled: true |
||||||
|
|
||||||
Metrics/LineLength: |
|
||||||
Enabled: false |
|
||||||
|
|
||||||
Style/PerlBackrefs: |
Style/PerlBackrefs: |
||||||
AutoCorrect: false |
AutoCorrect: false |
||||||
|
|
||||||
Style/ClassAndModuleChildren: |
Style/ClassAndModuleChildren: |
||||||
Enabled: false |
Enabled: false |
||||||
|
|
||||||
Documentation: |
Metrics/BlockNesting: |
||||||
|
Max: 2 |
||||||
|
|
||||||
|
Metrics/LineLength: |
||||||
|
AllowURI: true |
||||||
|
Enabled: false |
||||||
|
|
||||||
|
Metrics/MethodLength: |
||||||
|
CountComments: false |
||||||
|
Max: 10 |
||||||
|
|
||||||
|
Metrics/ModuleLength: |
||||||
|
Max: 100 |
||||||
|
|
||||||
|
Metrics/ParameterLists: |
||||||
|
Max: 4 |
||||||
|
CountKeywordArgs: true |
||||||
|
|
||||||
|
Style/AccessModifierIndentation: |
||||||
|
EnforcedStyle: indent |
||||||
|
|
||||||
|
Style/CollectionMethods: |
||||||
|
Enabled: true |
||||||
|
PreferredMethods: |
||||||
|
find_all: 'select' |
||||||
|
|
||||||
|
Style/Documentation: |
||||||
|
Enabled: false |
||||||
|
|
||||||
|
Style/DoubleNegation: |
||||||
|
Enabled: false |
||||||
|
|
||||||
|
Style/FrozenStringLiteralComment: |
||||||
Enabled: false |
Enabled: false |
||||||
|
|
||||||
|
Style/SpaceInsideHashLiteralBraces: |
||||||
|
EnforcedStyle: space |
||||||
|
|
||||||
|
Style/TrailingCommaInLiteral: |
||||||
|
EnforcedStyleForMultiline: 'comma' |
||||||
|
|
||||||
|
Style/RegexpLiteral: |
||||||
|
Enabled: false |
||||||
|
|
||||||
|
AllCops: |
||||||
|
TargetRubyVersion: 2.2 |
||||||
|
Exclude: |
||||||
|
- 'spec/**/*' |
||||||
|
- 'db/**/*' |
||||||
|
- 'app/views/**/*' |
||||||
|
- 'config/**/*' |
||||||
|
@ -0,0 +1,9 @@ |
|||||||
|
class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController |
||||||
|
before_action :store_current_location |
||||||
|
|
||||||
|
private |
||||||
|
|
||||||
|
def store_current_location |
||||||
|
store_location_for(:user, request.url) |
||||||
|
end |
||||||
|
end |
@ -1,4 +0,0 @@ |
|||||||
.prompt= t('doorkeeper.authorizations.error.title') |
|
||||||
|
|
||||||
#error_explanation |
|
||||||
= @pre_auth.error_response.body[:error_description] |
|
@ -1,26 +0,0 @@ |
|||||||
.prompt= raw t('.prompt', client_name: "<strong class=\"prompt-highlight\">#{ @pre_auth.client.name }</strong>") |
|
||||||
|
|
||||||
/- if @pre_auth.scopes.count > 0 |
|
||||||
/ .scope-permission-prompt |
|
||||||
/ %p= t('.able_to') |
|
||||||
|
|
||||||
/ %ul.scope-permissions |
|
||||||
/ - @pre_auth.scopes.each do |scope| |
|
||||||
/ %li= t scope, scope: [:doorkeeper, :scopes] |
|
||||||
|
|
||||||
.actions |
|
||||||
= form_tag oauth_authorization_path, method: :post do |
|
||||||
= hidden_field_tag :client_id, @pre_auth.client.uid |
|
||||||
= hidden_field_tag :redirect_uri, @pre_auth.redirect_uri |
|
||||||
= hidden_field_tag :state, @pre_auth.state |
|
||||||
= hidden_field_tag :response_type, @pre_auth.response_type |
|
||||||
= hidden_field_tag :scope, @pre_auth.scope |
|
||||||
= button_tag t('doorkeeper.authorizations.buttons.authorize'), type: :submit |
|
||||||
|
|
||||||
= form_tag oauth_authorization_path, method: :delete do |
|
||||||
= hidden_field_tag :client_id, @pre_auth.client.uid |
|
||||||
= hidden_field_tag :redirect_uri, @pre_auth.redirect_uri |
|
||||||
= hidden_field_tag :state, @pre_auth.state |
|
||||||
= hidden_field_tag :response_type, @pre_auth.response_type |
|
||||||
= hidden_field_tag :scope, @pre_auth.scope |
|
||||||
= button_tag t('doorkeeper.authorizations.buttons.deny'), type: :submit, class: 'negative' |
|
@ -1,2 +0,0 @@ |
|||||||
.prompt= t('.title') |
|
||||||
%code.copypasteable= params[:code] |
|
@ -0,0 +1,2 @@ |
|||||||
|
.flash-message#error_explanation |
||||||
|
= @pre_auth.error_response.body[:error_description] |
@ -0,0 +1,25 @@ |
|||||||
|
.oauth-prompt |
||||||
|
%h2 |
||||||
|
Application |
||||||
|
%strong=@pre_auth.client.name |
||||||
|
requests access to your account |
||||||
|
|
||||||
|
%p |
||||||
|
It will be able to |
||||||
|
= @pre_auth.scopes.map { |scope| t(scope, scope: [:doorkeeper, :scopes]) }.map { |s| "<strong>#{s}</strong>"}.to_sentence.html_safe |
||||||
|
|
||||||
|
= form_tag oauth_authorization_path, method: :post, class: 'simple_form' do |
||||||
|
= hidden_field_tag :client_id, @pre_auth.client.uid |
||||||
|
= hidden_field_tag :redirect_uri, @pre_auth.redirect_uri |
||||||
|
= hidden_field_tag :state, @pre_auth.state |
||||||
|
= hidden_field_tag :response_type, @pre_auth.response_type |
||||||
|
= hidden_field_tag :scope, @pre_auth.scope |
||||||
|
= button_tag t('doorkeeper.authorizations.buttons.authorize'), type: :submit |
||||||
|
|
||||||
|
= form_tag oauth_authorization_path, method: :delete, class: 'simple_form' do |
||||||
|
= hidden_field_tag :client_id, @pre_auth.client.uid |
||||||
|
= hidden_field_tag :redirect_uri, @pre_auth.redirect_uri |
||||||
|
= hidden_field_tag :state, @pre_auth.state |
||||||
|
= hidden_field_tag :response_type, @pre_auth.response_type |
||||||
|
= hidden_field_tag :scope, @pre_auth.scope |
||||||
|
= button_tag t('doorkeeper.authorizations.buttons.deny'), type: :submit, class: 'negative' |
@ -0,0 +1 @@ |
|||||||
|
%code= params[:code] |
@ -1,9 +1,19 @@ |
|||||||
class Rack::Attack |
class Rack::Attack |
||||||
throttle('get-req/ip', limit: 300, period: 5.minutes) do |req| |
# Rate limits for the API |
||||||
req.ip if req.get? |
throttle('api', limit: 150, period: 5.minutes) do |req| |
||||||
|
req.ip if req.path.match(/\A\/api\//) |
||||||
end |
end |
||||||
|
|
||||||
throttle('post-req/ip', limit: 100, period: 5.minutes) do |req| |
self.throttled_response = lambda do |env| |
||||||
req.ip if req.post? |
now = Time.now.utc |
||||||
|
match_data = env['rack.attack.match_data'] |
||||||
|
|
||||||
|
headers = { |
||||||
|
'X-RateLimit-Limit' => match_data[:limit].to_s, |
||||||
|
'X-RateLimit-Remaining' => '0', |
||||||
|
'X-RateLimit-Reset' => (now + (match_data[:period] - now.to_i % match_data[:period])).to_s |
||||||
|
} |
||||||
|
|
||||||
|
[429, headers, [{ error: 'Throttled' }.to_json]] |
||||||
end |
end |
||||||
end |
end |
||||||
|
@ -1,2 +1,2 @@ |
|||||||
web_app = Doorkeeper::Application.new(name: 'Web', superapp: true, redirect_uri: Doorkeeper.configuration.native_redirect_uri) |
web_app = Doorkeeper::Application.new(name: 'Web', superapp: true, redirect_uri: Doorkeeper.configuration.native_redirect_uri, scopes: 'read write follow') |
||||||
web_app.save! |
web_app.save! |
||||||
|
Loading…
Reference in new issue