擅长:python、mysql、java
<p>如果有人无意中发现了这一点,我的想法是:</p>
<pre><code>#!/bin/bash -u
FORM="Content-Type: application/x-www-form-urlencoded"
NOW=$(date -R)
#get these from the Duo Admin interface
INT="<integration key>"
KEY="<secret passcode>"
API="<api host>.duosecurity.com"
URL="/auth/v2/check"
REQ="$NOW\nGET\n$API\n$URL\n"
#could also use awk here, or the binary mode as suggested elsewhere
HMAC=$(echo -n "$REQ" | openssl sha1 -hmac "$KEY" | cut -d" " -f 2)
AUTH=$(echo -n "$INT:$HMAC" | base64 -w0)
curl -s -H "Date: $NOW" -H $FORM -H "Authorization: Basic $AUTH" https://$API$URL
</code></pre>
<p>运行此操作将产生:</p>
<blockquote>
<p>{"response": {"time": 1539726254}, "stat": "OK"}</p>
</blockquote>
<p>参考号:<a href="https://duo.com/docs/authapi#-authentication-" rel="nofollow noreferrer">Duo Api docs section on authentication</a></p>