fix: URL encode params on Platform API call (#3929)
Add URL encoding for the params in platform API calls. Fixes: product#307 Fixes: #2186
This commit is contained in:
parent
375d943a48
commit
2a07eae69f
3 changed files with 7 additions and 4 deletions
|
@ -13,7 +13,8 @@ class Platform::Api::V1::UsersController < PlatformController
|
||||||
end
|
end
|
||||||
|
|
||||||
def login
|
def login
|
||||||
render json: { url: "#{ENV['FRONTEND_URL']}/app/login?email=#{@resource.email}&sso_auth_token=#{@resource.generate_sso_auth_token}" }
|
encoded_email = ERB::Util.url_encode(@resource.email)
|
||||||
|
render json: { url: "#{ENV['FRONTEND_URL']}/app/login?email=#{encoded_email}&sso_auth_token=#{@resource.generate_sso_auth_token}" }
|
||||||
end
|
end
|
||||||
|
|
||||||
def show; end
|
def show; end
|
||||||
|
|
|
@ -133,7 +133,9 @@ export default {
|
||||||
login() {
|
login() {
|
||||||
this.loginApi.showLoading = true;
|
this.loginApi.showLoading = true;
|
||||||
const credentials = {
|
const credentials = {
|
||||||
email: this.email ? this.email : this.credentials.email,
|
email: this.email
|
||||||
|
? decodeURIComponent(this.email)
|
||||||
|
: this.credentials.email,
|
||||||
password: this.credentials.password,
|
password: this.credentials.password,
|
||||||
sso_auth_token: this.ssoAuthToken,
|
sso_auth_token: this.ssoAuthToken,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
require 'rails_helper'
|
require 'rails_helper'
|
||||||
|
|
||||||
RSpec.describe 'Platform Users API', type: :request do
|
RSpec.describe 'Platform Users API', type: :request do
|
||||||
let!(:user) { create(:user, custom_attributes: { test: 'test' }) }
|
let!(:user) { create(:user, email: 'dev+testing@chatwoot.com', custom_attributes: { test: 'test' }) }
|
||||||
|
|
||||||
describe 'GET /platform/api/v1/users/{user_id}' do
|
describe 'GET /platform/api/v1/users/{user_id}' do
|
||||||
context 'when it is an unauthenticated platform app' do
|
context 'when it is an unauthenticated platform app' do
|
||||||
|
@ -71,7 +71,7 @@ RSpec.describe 'Platform Users API', type: :request do
|
||||||
|
|
||||||
expect(response).to have_http_status(:success)
|
expect(response).to have_http_status(:success)
|
||||||
data = JSON.parse(response.body)
|
data = JSON.parse(response.body)
|
||||||
expect(data['url']).to include('sso_auth_token')
|
expect(data['url']).to include('email=dev%2Btesting%40chatwoot.com&sso_auth_token=')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue