diff --git a/.travis.yml b/.travis.yml index 84352e6..06cc40e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,11 +51,11 @@ deploy: on: branch: master - - provider: script - skip_cleanup: true - script: echo "put -r $TRAVIS_BUILD_DIR/dist/* accounts-frontend/" | sftp deploy@account.ely.by - on: - branch: master + # - provider: script + # skip_cleanup: true + # script: echo "put -r $TRAVIS_BUILD_DIR/dist/* accounts-frontend/" | sftp deploy@account.ely.by + # on: + # branch: master - provider: script skip_cleanup: true diff --git a/packages/app/services/authFlow/OAuthState.test.ts b/packages/app/services/authFlow/OAuthState.test.ts index 98db590..c6700a9 100644 --- a/packages/app/services/authFlow/OAuthState.test.ts +++ b/packages/app/services/authFlow/OAuthState.test.ts @@ -30,7 +30,7 @@ describe('OAuthState', () => { redirect_uri: 'redirect_uri', response_type: 'response_type', description: 'description', - scope: 'scope', + scope: 'scope1 scope2', prompt: 'none', login_hint: '1', state: 'state', @@ -64,7 +64,7 @@ describe('OAuthState', () => { const query = { redirect_uri: 'redirect_uri', response_type: 'response_type', - scope: 'scope', + scope: 'scope1 scope2', state: 'state', }; @@ -94,7 +94,7 @@ describe('OAuthState', () => { client_id: 'client_id', redirect_uri: 'redirect_uri', response_type: 'response_type', - scope: 'scope', + scope: 'scope1 scope2', state: 'state', }; @@ -118,6 +118,34 @@ describe('OAuthState', () => { state.enter(context); }); + it('should replace commas with spaces in scope param', () => { + const query = { + client_id: 'client_id', + redirect_uri: 'redirect_uri', + response_type: 'response_type', + scope: 'scope1,scope2', + state: 'state', + }; + + context.getRequest.returns({ + query: new URLSearchParams(query), + }); + + expectRun( + mock, + 'oAuthValidate', + sinon.match({ + clientId: query.client_id, + redirectUrl: query.redirect_uri, + responseType: query.response_type, + scope: 'scope1 scope2', + state: query.state, + }), + ).returns({ then() {} }); + + state.enter(context); + }); + it('should transition to complete state on success', () => { const promise = Promise.resolve(); diff --git a/packages/app/services/authFlow/OAuthState.ts b/packages/app/services/authFlow/OAuthState.ts index cd09077..b5d591c 100644 --- a/packages/app/services/authFlow/OAuthState.ts +++ b/packages/app/services/authFlow/OAuthState.ts @@ -11,7 +11,7 @@ export default class OAuthState extends AbstractState { redirectUrl: query.get('redirect_uri'), responseType: query.get('response_type'), description: query.get('description'), - scope: query.get('scope'), + scope: (query.get('scope') || '').replace(',', ' '), prompt: query.get('prompt'), loginHint: query.get('login_hint'), state: query.get('state'),