Improve WebFinger verification
This commit is contained in:
		
							parent
							
								
									69763ac32b
								
							
						
					
					
						commit
						8361289b4e
					
				
					 1 changed files with 9 additions and 4 deletions
				
			
		| 
						 | 
				
			
			@ -20,14 +20,19 @@ export default async function resolve(query, verifier?: string): Promise<IWebFin
 | 
			
		|||
 | 
			
		||||
		res(result.object);
 | 
			
		||||
	})) as IWebFinger;
 | 
			
		||||
	const subject = finger.subject.toLowerCase().replace(/^acct:/, '');
 | 
			
		||||
 | 
			
		||||
	if (verifier) {
 | 
			
		||||
		if (finger.subject.toLowerCase().replace(/^acct:/, '') !== verifier) {
 | 
			
		||||
			throw 'WebFinger verfification failed';
 | 
			
		||||
	if (typeof verifier === 'string') {
 | 
			
		||||
		if (subject !== verifier) {
 | 
			
		||||
			throw new Error;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return finger;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return resolve(finger.subject, finger.subject.toLowerCase());
 | 
			
		||||
	if (typeof subject === 'string') {
 | 
			
		||||
		return resolve(subject, subject);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	throw new Error;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue