fix(SSO/JWT): JWTのヘッダーに`typ`を追加、serviceurlパラメータに対応 (MisskeyIO#537)
This commit is contained in:
		
							parent
							
								
									075ec2d7df
								
							
						
					
					
						commit
						da9530a8f7
					
				|  | @ -63,11 +63,11 @@ export class JWTIdentifyProviderService { | |||
| 
 | ||||
| 		fastify.all<{ | ||||
| 			Params: { serviceId: string }; | ||||
| 			Querystring?: { return_to?: string }; | ||||
| 			Body?: { return_to?: string }; | ||||
| 			Querystring?: { serviceurl?: string, return_to?: string }; | ||||
| 			Body?: { serviceurl?: string, return_to?: string }; | ||||
| 		}>('/:serviceId', async (request, reply) => { | ||||
| 			const serviceId = request.params.serviceId; | ||||
| 			const returnTo = request.query?.return_to ?? request.body?.return_to; | ||||
| 			const returnTo = request.query?.return_to ?? request.query?.serviceurl ?? request.body?.return_to ?? request.body?.serviceurl; | ||||
| 
 | ||||
| 			const ssoServiceProvider = await this.singleSignOnServiceProviderRepository.findOneBy({ id: serviceId, type: 'jwt' }); | ||||
| 			if (!ssoServiceProvider) { | ||||
|  | @ -193,6 +193,7 @@ export class JWTIdentifyProviderService { | |||
| 
 | ||||
| 					jwt = await new jose.EncryptJWT(payload) | ||||
| 						.setProtectedHeader({ | ||||
| 							typ: 'JWT', | ||||
| 							alg: ssoServiceProvider.signatureAlgorithm, | ||||
| 							enc: ssoServiceProvider.cipherAlgorithm, | ||||
| 						}) | ||||
|  | @ -209,7 +210,10 @@ export class JWTIdentifyProviderService { | |||
| 						: jose.base64url.decode(ssoServiceProvider.publicKey); | ||||
| 
 | ||||
| 					jwt = await new jose.SignJWT(payload) | ||||
| 						.setProtectedHeader({ alg: ssoServiceProvider.signatureAlgorithm }) | ||||
| 						.setProtectedHeader({ | ||||
| 							typ: 'JWT', | ||||
| 							alg: ssoServiceProvider.signatureAlgorithm, | ||||
| 						}) | ||||
| 						.setIssuer(ssoServiceProvider.issuer) | ||||
| 						.setAudience(ssoServiceProvider.audience) | ||||
| 						.setIssuedAt() | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue