forked from fedi/mastodon
Customizing doorkeeper views for authorizing app
This commit is contained in:
parent
d4b9b289e8
commit
b919f39b31
|
@ -45,4 +45,4 @@ work = ->
|
||||||
stop()
|
stop()
|
||||||
|
|
||||||
$ ->
|
$ ->
|
||||||
setTimeout(start, 500)
|
setTimeout(start, 100)
|
||||||
|
|
|
@ -154,6 +154,29 @@ body {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.prompt {
|
||||||
|
font-size: 16px;
|
||||||
|
color: #9baec8;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
.prompt-highlight {
|
||||||
|
font-weight: 500;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
code.copypasteable {
|
||||||
|
display: block;
|
||||||
|
font-family: 'Roboto Mono', monospace;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 12px;
|
||||||
|
margin-top: 20px;
|
||||||
|
background: #282c37;
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 2px;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
.actions {
|
.actions {
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
|
|
||||||
|
@ -170,6 +193,7 @@ body {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: lighten(#2b90d9, 5%);
|
background-color: lighten(#2b90d9, 5%);
|
||||||
|
@ -180,6 +204,18 @@ body {
|
||||||
top: 1px;
|
top: 1px;
|
||||||
background-color: darken(#2b90d9, 5%);
|
background-color: darken(#2b90d9, 5%);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.negative {
|
||||||
|
background: #df405a;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: lighten(#df405a, 5%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active, &:focus {
|
||||||
|
background-color: darken(#df405a, 5%);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
<div class="page-header">
|
|
||||||
<h1><%= t('doorkeeper.authorizations.error.title') %></h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<main role="main">
|
|
||||||
<pre><%= @pre_auth.error_response.body[:error_description] %></pre>
|
|
||||||
</main>
|
|
4
app/views/doorkeeper/authorizations/error.html.haml
Normal file
4
app/views/doorkeeper/authorizations/error.html.haml
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
.prompt= t('doorkeeper.authorizations.error.title')
|
||||||
|
|
||||||
|
#error_explanation
|
||||||
|
= @pre_auth.error_response.body[:error_description]
|
|
@ -1,40 +0,0 @@
|
||||||
<header class="page-header" role="banner">
|
|
||||||
<h1><%= t('.title') %></h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main role="main">
|
|
||||||
<p class="h4">
|
|
||||||
<%= raw t('.prompt', client_name: "<strong class=\"text-info\">#{ @pre_auth.client.name }</strong>") %>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<% if @pre_auth.scopes.count > 0 %>
|
|
||||||
<div id="oauth-permissions">
|
|
||||||
<p><%= t('.able_to') %>:</p>
|
|
||||||
|
|
||||||
<ul class="text-info">
|
|
||||||
<% @pre_auth.scopes.each do |scope| %>
|
|
||||||
<li><%= t scope, scope: [:doorkeeper, :scopes] %></li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<div class="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 %>
|
|
||||||
<%= submit_tag t('doorkeeper.authorizations.buttons.authorize'), class: "btn btn-success btn-lg btn-block" %>
|
|
||||||
<% end %>
|
|
||||||
<%= 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 %>
|
|
||||||
<%= submit_tag t('doorkeeper.authorizations.buttons.deny'), class: "btn btn-danger btn-lg btn-block" %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
26
app/views/doorkeeper/authorizations/new.html.haml
Normal file
26
app/views/doorkeeper/authorizations/new.html.haml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
.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,7 +0,0 @@
|
||||||
<header class="page-header">
|
|
||||||
<h1><%= t('.title') %>:</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<main role="main">
|
|
||||||
<code id="authorization_code"><%= params[:code] %></code>
|
|
||||||
</main>
|
|
2
app/views/doorkeeper/authorizations/show.html.haml
Normal file
2
app/views/doorkeeper/authorizations/show.html.haml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
.prompt= t('.title')
|
||||||
|
%code.copypasteable= params[:code]
|
|
@ -2,7 +2,7 @@
|
||||||
.logo-container
|
.logo-container
|
||||||
%h1
|
%h1
|
||||||
= link_to root_path do
|
= link_to root_path do
|
||||||
= render partial: 'logo', locals: { dim: 200 }
|
= render partial: 'application/logo', locals: { dim: 200 }
|
||||||
%small= Rails.configuration.x.local_domain
|
%small= Rails.configuration.x.local_domain
|
||||||
|
|
||||||
.form-container
|
.form-container
|
||||||
|
|
|
@ -47,7 +47,7 @@ Doorkeeper.configure do
|
||||||
# For more information go to
|
# For more information go to
|
||||||
# https://github.com/doorkeeper-gem/doorkeeper/wiki/Using-Scopes
|
# https://github.com/doorkeeper-gem/doorkeeper/wiki/Using-Scopes
|
||||||
# default_scopes :public
|
# default_scopes :public
|
||||||
# optional_scopes :write, :update
|
# optional_scopes :write, :follow
|
||||||
|
|
||||||
# Change the way client credentials are retrieved from the request object.
|
# Change the way client credentials are retrieved from the request object.
|
||||||
# By default it retrieves first from the `HTTP_AUTHORIZATION` header, then
|
# By default it retrieves first from the `HTTP_AUTHORIZATION` header, then
|
||||||
|
|
|
@ -12,7 +12,7 @@ class CreateDoorkeeperTables < ActiveRecord::Migration
|
||||||
add_index :oauth_applications, :uid, unique: true
|
add_index :oauth_applications, :uid, unique: true
|
||||||
|
|
||||||
create_table :oauth_access_grants do |t|
|
create_table :oauth_access_grants do |t|
|
||||||
t.integer :user_id, null: false
|
t.integer :resource_owner_id, null: false
|
||||||
t.integer :application_id, null: false
|
t.integer :application_id, null: false
|
||||||
t.string :token, null: false
|
t.string :token, null: false
|
||||||
t.integer :expires_in, null: false
|
t.integer :expires_in, null: false
|
||||||
|
|
|
@ -68,7 +68,7 @@ ActiveRecord::Schema.define(version: 20160306172223) do
|
||||||
add_index "mentions", ["account_id", "status_id"], name: "index_mentions_on_account_id_and_status_id", unique: true, using: :btree
|
add_index "mentions", ["account_id", "status_id"], name: "index_mentions_on_account_id_and_status_id", unique: true, using: :btree
|
||||||
|
|
||||||
create_table "oauth_access_grants", force: :cascade do |t|
|
create_table "oauth_access_grants", force: :cascade do |t|
|
||||||
t.integer "user_id", null: false
|
t.integer "resource_owner_id", null: false
|
||||||
t.integer "application_id", null: false
|
t.integer "application_id", null: false
|
||||||
t.string "token", null: false
|
t.string "token", null: false
|
||||||
t.integer "expires_in", null: false
|
t.integer "expires_in", null: false
|
||||||
|
|
Loading…
Reference in a new issue