fix: Identity JSON response header (#6326)

This commit is contained in:
Tejaswini Chile
2023-02-02 11:01:18 +05:30
committed by GitHub
parent 2d245cef91
commit 2ab0b8552a
4 changed files with 23 additions and 9 deletions

View File

@@ -1,5 +1,17 @@
class MicrosoftController < ApplicationController
after_action :set_version_header
def identity_association
render layout: false
microsoft_indentity
end
private
def set_version_header
response.headers['Content-Length'] = { associatedApplications: [{ applicationId: @identity_json }] }.to_json.length
end
def microsoft_indentity
@identity_json = ENV.fetch('AZURE_APP_ID', nil)
end
end

View File

@@ -1,7 +0,0 @@
{
"associatedApplications": [
{
"applicationId": "<%= ENV['AZURE_APP_ID'] %>"
}
]
}

View File

@@ -0,0 +1,5 @@
json.associatedApplications do
json.array! [@identity_json] do |identity_id|
json.applicationId identity_id
end
end

View File

@@ -6,7 +6,11 @@ describe '/.well-known/microsoft-identity-association.json', type: :request do
with_modified_env AZURE_APP_ID: 'azure-application-client-id' do
get '/.well-known/microsoft-identity-association.json'
expect(response).to have_http_status(:success)
expect(response.body).to include '"applicationId": "azure-application-client-id"'
expect(response.body).to include '"applicationId":"azure-application-client-id"'
content_length = { associatedApplications: [{ applicationId: 'azure-application-client-id' }] }.to_json.length
expect(response.headers['Content-Length']).to eq(content_length.to_s)
end
end
end