give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

Webサービスの認証方法

社内でWebサービスに関する技術検証をやってるメンバーがいたのでちょっと首を突っ込んでみました。
どうもレスポンスの遅さによるタイムアウトの発生と処理開始時の認証方法で困っているようでした。
レスポンスについてはボトルネックを特定するために試行錯誤している最中だったようなので、とりあえず認証部分をなんとかしようということに。

webServiceObj.Credentials = new System.Net.NetworkCredential("user", "password");


みたいな感じで一応認証はできるんですが、プログラム内でパスワードを扱うとセキュリティホールになっちゃう可能性もありますし、単純に実装するとパスワードが平文でネットワーク上を流れてしまうことになってしまいます。


社内システムは認証用の共通インフラがあるので普通はそれを使います。
なのでプログラムが独自の認証ロジックを持つことはほとんどありません。
もちろん共通インフラがほいっとユーザーのパスワードを渡してくれるはずもありません。


おいらのイメージとしては

//あくまでイメージですよ!!
webServiceObj.Credentials = Windows.Security.GetCurrentUser().Credentials;


みたいな感じで認証ができたらよいなと思ったのですが、ネットを探しまわってもそんな方法はありませんでした。
Webサービスって大体どんなものかは分かるけど、実際に利用したり作ったりしたことはほとんどないんですよね。。。
やっぱりユーザーが入力したパスワードをプログラム内で使わなきゃいけないのかな〜?
う〜ん・・・。