mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 11:08:04 +00:00 
			
		
		
		
	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:
		| @@ -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 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Pranav Raj S
					Pranav Raj S