Load scopes from seeds
Signed-off-by: theworldbright <kent@kentshikama.com>
This commit is contained in:
parent
99d6d7b3e7
commit
65c40f236e
7 changed files with 12 additions and 14 deletions
|
|
@ -4,8 +4,6 @@ module Api
|
|||
has_many :authorizations, through: :authorization_scopes
|
||||
|
||||
validates :name, presence: true, uniqueness: true
|
||||
|
||||
# TODO: Add constants so scopes can be referenced as OpenidConnect::Scope::Read
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
3
db/seeds.rb
Normal file
3
db/seeds.rb
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Api::OpenidConnect::Scope.find_or_create_by!(name: "openid")
|
||||
Api::OpenidConnect::Scope.find_or_create_by!(name: "read")
|
||||
Api::OpenidConnect::Scope.find_or_create_by!(name: "write")
|
||||
|
|
@ -23,7 +23,7 @@ module Api
|
|||
auth = Api::OpenidConnect::Authorization.with_redirect_uri(req.redirect_uri).use_code(req.code)
|
||||
req.invalid_grant! if auth.blank?
|
||||
res.access_token = auth.create_access_token
|
||||
if auth.accessible?(Api::OpenidConnect::Scope.find_by(name: "openid"))
|
||||
if auth.accessible?(Api::OpenidConnect::Scope.find_by!(name: "openid"))
|
||||
id_token = auth.create_id_token
|
||||
res.id_token = id_token.to_jwt(access_token: res.access_token)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ describe Api::OpenidConnect::AuthorizationsController, type: :controller do
|
|||
before do
|
||||
sign_in :user, alice
|
||||
allow(@controller).to receive(:current_user).and_return(alice)
|
||||
Api::OpenidConnect::Scope.create!(name: "openid")
|
||||
end
|
||||
|
||||
describe "#new" do
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ describe Api::OpenidConnect::ProtectedResourceEndpoint, type: :request do
|
|||
end
|
||||
let(:auth_with_read) do
|
||||
auth = Api::OpenidConnect::Authorization.create!(o_auth_application: client, user: alice)
|
||||
auth.scopes << [Api::OpenidConnect::Scope.find_or_create_by(name: "openid"),
|
||||
Api::OpenidConnect::Scope.find_or_create_by(name: "read")]
|
||||
auth.scopes << [Api::OpenidConnect::Scope.find_by!(name: "openid"),
|
||||
Api::OpenidConnect::Scope.find_by!(name: "read")]
|
||||
auth
|
||||
end
|
||||
let!(:access_token_with_read) { auth_with_read.create_access_token.to_s }
|
||||
|
|
|
|||
|
|
@ -1,20 +1,17 @@
|
|||
require "spec_helper"
|
||||
|
||||
describe Api::OpenidConnect::TokenEndpoint, type: :request do
|
||||
let!(:client) do
|
||||
Api::OpenidConnect::OAuthApplication.create!(
|
||||
redirect_uris: ["http://localhost:3000/"], client_name: "diaspora client",
|
||||
ppid: true, sector_identifier_uri: "https://example.com/uri")
|
||||
end
|
||||
let!(:auth) {
|
||||
Api::OpenidConnect::Authorization.find_or_create_by(
|
||||
let!(:auth) do
|
||||
auth = Api::OpenidConnect::Authorization.find_or_create_by(
|
||||
o_auth_application: client, user: bob, redirect_uri: "http://localhost:3000/")
|
||||
}
|
||||
let!(:code) { auth.create_code }
|
||||
|
||||
before do
|
||||
Api::OpenidConnect::Scope.find_or_create_by(name: "read")
|
||||
auth.scopes << [Api::OpenidConnect::Scope.find_by!(name: "openid")]
|
||||
auth
|
||||
end
|
||||
let!(:code) { auth.create_code }
|
||||
|
||||
describe "the authorization code grant type" do
|
||||
context "when the authorization code is valid" do
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ RSpec.configure do |config|
|
|||
$process_queue = false
|
||||
allow_any_instance_of(Postzord::Dispatcher::Public).to receive(:deliver_to_remote)
|
||||
allow_any_instance_of(Postzord::Dispatcher::Private).to receive(:deliver_to_remote)
|
||||
load "#{Rails.root}/db/seeds.rb"
|
||||
end
|
||||
|
||||
config.expect_with :rspec do |expect_config|
|
||||
|
|
|
|||
Loading…
Reference in a new issue