私はので、私はこの認証の取り扱い使用HTTPClientの
private static readonly HttpClient httpClient = new HttpClient();
https://docs.microsoft.com/enus/azure/architecture/antipatterns/improper-instantiation/
このHTTPClientのすべてで使用されているように、クラスの最上部にHTTPClientを静的に初期化していますと、Web APIに接続するクラスを持っていますAPIに連絡するクラス内のパブリックメソッド、login()以外の各メソッドは基本認証ヘッダーを必要とします。
認証:基本デバイスID:X-Secret-Key
ここで、device_idはこのクラスのインスタンスの定数であり、秘密鍵はlogin()メソッドからの戻り値です。
は、したがって、すべての方法が含まれている必要があります
request.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo)));
要求が作成されるHTTPRequestMessageであり、AUTHINFOは、フォーマットDEVICE_IDの文字列です:X-秘密鍵。
またはすべてのメソッドは、ログイン()関数で使用されるものから別々にHTTPClientを呼び出す必要がありますが、同じように宣言:
var handler = new HttpClientHandler();
handler.Credentials = new NetworkCredential (device_id, secret_key);
var client = new HttpClient (handler);
はそれを追加し、任意の応答
ベアラパラメータは何をしますか? –
Oups、 "Basic"、 "Bearer"ではありません。私は自分の答えを編集した –