in pan-domain-auth-verification/src/main/scala/com/gu/pandomainauth/service/CryptoConf.scala [54:63]
def setting(key: String): SettingsResult[String] = settingMap.get(key).toRight(MissingSetting(key))
def signingAndVerificationConf: SettingsResult[SigningAndVerification] = makeConfWith(activeKeyPair)(SigningAndVerification(_, _))
def verificationConf: SettingsResult[Verification] = makeConfWith(activePublicKey)(OnlyVerification(_, _))
val activePublicKey: SettingsResult[PublicKey] = setting("publicKey").flatMap(publicKeyFor)
private val alsoAcceptedPublicKeys: SettingsResult[Seq[PublicKey]] = settingMap.collect {
case (k, v) if k.startsWith("alsoAccept.") && k.endsWith(".publicKey") => publicKeyFor(v)
}.toSeq.sequence