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);
 | 
							res(result.object);
 | 
				
			||||||
	})) as IWebFinger;
 | 
						})) as IWebFinger;
 | 
				
			||||||
 | 
						const subject = finger.subject.toLowerCase().replace(/^acct:/, '');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (verifier) {
 | 
						if (typeof verifier === 'string') {
 | 
				
			||||||
		if (finger.subject.toLowerCase().replace(/^acct:/, '') !== verifier) {
 | 
							if (subject !== verifier) {
 | 
				
			||||||
			throw 'WebFinger verfification failed';
 | 
								throw new Error;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		return finger;
 | 
							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