1
對於某些API調用中的簽名驗證,我必須從請求主體計算簽名並將其與標頭中的一個進行比較。因爲我無法找到任何預定義的指令可以做這個工作,我想出了一個自定義是這樣的:指令在akka-http中使用請求標頭和正文
def verifySignature(channelSecret: String): Directive0 =
headerValueByName("X-Line-Signature").flatMap { signature =>
entity(as[String]).flatMap { bodyString =>
if (computeSignature(channelSecret, bodyString) == signature) pass
else reject
}
}
可正常工作。
所以我只是想知道它是否會更好。 有沒有指令可以做得更好嗎? 是否正確使用pass?