allow bearer and other types of authorization in default handler
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is failing
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	continuous-integration/drone/push Build is failing
				
			This commit is contained in:
		| @@ -49,8 +49,11 @@ describe ('auth handler', () => { | ||||
|   let server: http.Server|null = null; | ||||
|   beforeAll (() => { | ||||
|     const ah = create_auth_handler ((req) => { | ||||
|       if (!req.is_basic) { | ||||
|         req.invalid ('unknown autorization type'); | ||||
|       if (!req.is_basic && !req.is_bearer) { | ||||
|         req.invalid ('unknown authorization type'); | ||||
|       } | ||||
|       else if (req.is_bearer) { | ||||
|         req.deny (); | ||||
|       } | ||||
|       else if (req.user === 'foo' && req.password === 'bar') { | ||||
|         req.allow_access ({ | ||||
| @@ -170,10 +173,13 @@ describe ('auth handler', () => { | ||||
|   it ('should reject invalid requests', async () => { | ||||
|     const resp1 = await get (); | ||||
|     expect (resp1.statusCode) | ||||
|       .toEqual (401); | ||||
|       .toEqual (400); | ||||
|     const res1 = check_headers (resp1); | ||||
|     expect (res1.data) | ||||
|       .toEqual ({ error: 'invalid_client' }); | ||||
|       .toEqual ({ | ||||
|         error:             'invalid_request', | ||||
|         error_description: 'missing authorization header' | ||||
|       }); | ||||
|  | ||||
|     const resp2a = await get ({ authorization: 'Basic foo:bar' }); | ||||
|     const res2a = check_headers (resp2a); | ||||
| @@ -237,6 +243,17 @@ describe ('auth handler', () => { | ||||
|     expect (res2.rt).not.toEqual (res1.rt); | ||||
|   }); | ||||
|  | ||||
|   it ('should handle any authorization type', async () => { | ||||
|     const resp = await get ({ authorization: 'Foo asdefg' }); | ||||
|     expect (resp.statusCode) | ||||
|       .toEqual (400); | ||||
|     expect (JSON.parse (resp.body as string)) | ||||
|       .toEqual ({ | ||||
|         error:             'invalid_request', | ||||
|         error_description: 'unknown authorization type' | ||||
|       }); | ||||
|   }); | ||||
|  | ||||
|   afterAll (() => { | ||||
|     if (server === null) | ||||
|       throw new Error ('server is null'); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user