Accept domain without port for webfinger
[oweals/peertube.git] / server / helpers / custom-validators / webfinger.ts
1 import { CONFIG } from '../../initializers'
2 import { exists } from './misc'
3
4 function isWebfingerResourceValid (value: string) {
5   if (!exists(value)) return false
6   if (value.startsWith('acct:') === false) return false
7
8   const actorWithHost = value.substr(5)
9   const actorParts = actorWithHost.split('@')
10   if (actorParts.length !== 2) return false
11
12   const host = actorParts[1]
13
14   return host === CONFIG.WEBSERVER.HOSTNAME || host === CONFIG.WEBSERVER.HOST
15 }
16
17 // ---------------------------------------------------------------------------
18
19 export {
20   isWebfingerResourceValid
21 }