26 lines
966 B
Ruby
26 lines
966 B
Ruby
describe Api::OpenidConnect::IdToken, type: :model do
|
|
describe "#to_jwt" do
|
|
let(:auth) { FactoryGirl.create(:auth_with_read) }
|
|
let(:id_token) { Api::OpenidConnect::IdToken.new(auth, "nonce") }
|
|
|
|
describe "decoded data" do
|
|
let(:decoded_hash) {
|
|
JSON::JWT.decode(id_token.to_jwt, Api::OpenidConnect::IdTokenConfig::PRIVATE_KEY)
|
|
}
|
|
let(:discovery_controller) {
|
|
Api::OpenidConnect::DiscoveryController.new.tap {|controller|
|
|
controller.request = ActionController::TestRequest.new
|
|
controller.request.host = AppConfig.pod_uri.authority
|
|
controller.response = ActionController::TestResponse.new
|
|
}
|
|
}
|
|
let(:openid_webfinger) {
|
|
JSON.parse(discovery_controller.webfinger[0])
|
|
}
|
|
|
|
it "issuer value must much the one we provided in OpenID discovery routine" do
|
|
expect(decoded_hash["iss"]).to eq(openid_webfinger["links"][0]["href"])
|
|
end
|
|
end
|
|
end
|
|
end
|