Fixes #12. Replace commas with spaces in scopes list

This commit is contained in:
ErickSkrauch 2019-12-11 15:54:33 +03:00
parent 98ca1ca892
commit 1b98fe9f34
No known key found for this signature in database
GPG Key ID: 669339FCBB30EE0E
2 changed files with 32 additions and 4 deletions

View File

@ -10,7 +10,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')

View File

@ -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();