web-dev-qa-db-ja.com

自分のWebサイトにMicrosoftログインを実装するにはどうすればよいですか?

従業員がシフトの詳細を入力するためのフォームをホストするWebサイトを作成しようとしています。ウェブサイト自体はかなり基本的なものです。つまり、ほとんどがHTMLとPHPコードです。

明らかに、私はアクセスを制御する必要があり、現時点では(サイトはまだライブではないため、個人情報などはまだありません)、ログイン入力とMySQLデータベースのエントリを比較することでこれを行っていますが、これはこれを処理するための最良の方法ではないと確信しています。ユーザーがMicrosoft資格情報を使用することができれば、ユーザーにとっては簡単になります。

私が収集したものから、OAuth2.0/OpenIDのようなプロトコルがこれに使用されます。これは正しいです?このようなものをどのようにコーディングしますか?より良い代替案はありますか?このようなことについてどこで学ぶべきですか?

また、ユーザーが許可されていることを知っているだけでなく、決定を下すことができるユーザー(ユーザーがリダイレクトされる場所、ユーザーが表示できるものと表示できないものなど)に基づいてユーザーに関する情報を取得できれば、すばらしいと思います。

4
CVE-2017-5754

Microsoftログインは、あらゆるタイプの「モダン」認証の正確な説明ではありません。 Kerberos/SPNEGOADFSを使用したSAML 2. または Azure ADを使用したOAuth 2. などを参照することができます。

お気づきのとおり、Active Directoryとのシングルサインオン( "Microsoftログイン")を介してWebアプリケーションを統合する場合、選択できるオプションがたくさんあります。どの製品が利用可能であり、どの製品があなたの会社の現在の認証状況であるのかわからないので、具体的な回答は提供できません。

組織内の他の開発者に連絡して、既に使用されている一般的な認証方法を確認することをお勧めします。会社にすでにSAML 2.0準拠のIDプロバイダーがある場合、アプリケーションにサービスプロバイダーの部分を実装することは、エレガントで安全なソリューションになる可能性があります。

3