0

o365 API クライアント ライブラリを使用して、asp.net Web アプリケーションを Office 365 電子メールと統合しています。

Microsoft UI のサインイン ページ ( https://login.microsoftonline.com/login.srf )を表示するのではなく、C# コードを使用してサインインしたいと考えています。

ユーザーにユーザー名/パスワードを提供し、ユーザー名/パスワードが正しい場合は、ユーザーを認証して、asp.net Web アプリケーションの Office 365 メールを表示する必要があります。

前もって感謝します。

4

1 に答える 1

0

OAUTH の目的は、あなたとあなたのユーザーの両方を保護することです。資格情報を保存するビジネスに参入するとすぐに、それらの資格情報を保護する責任があります。

バックエンドプロセスを介してユーザーのデータにアクセスしようとしていると思います。このワークフローには、「offline_access」スコープが必要です。オフラインとは、「インターネットから切断されている」という意味ではなく、エンドユーザーがアプリから「オフライン」になっている (UX と対話できない) ことを意味します。

OAUTH Code Grant ワークフローを実行し、「openid」と「offline_access」をスコープに追加する必要があります。これにより、Office API をヒットするために使用できる id_token と、既存のトークンの有効期限が切れたときに新しい id_token を取得するために使用できる refresh_token の両方が得られます。リフレッシュ トークンは、エンド ユーザーがオフラインの場合でも使用できます (UX は関係ありません)。

id_token と refresh_token を取得したら、これらの値を使用して、エンド ユーザーに代わって O365 と対話できます。一般的な例は、カレンダーの同期です。ユーザーが初めて認証と構成を行う必要があるとき (つまり、どのカレンダーを同期するか)。それ以降、サーバーは id_token と refresh_token を使用して、ユーザーがオンラインでなくても動作します (これは「offline_access」という用語です)。

于 2016-03-18T14:19:17.230 に答える