Microsoft ID プラットフォームの認証ライブラリMicrosoft identity platform authentication libraries

Microsoft ID プラットフォーム エンドポイントでは、業界標準のプロトコルである OAuth 2.0 と OpenID Connect 1.0 がサポートされています。The Microsoft identity platform endpoint supports the industry-standard OAuth 2.0 and OpenID Connect 1.0 protocols. Microsoft Authentication Library (MSAL) は Microsoft ID プラットフォーム エンドポイントと連動するように設計されています。The Microsoft Authentication Library (MSAL) is designed to work with the Microsoft identity platform endpoint. OAuth 2.0 と OpenID Connect 1.0 がサポートされているオープンソース ライブラリを使用することもできます。You can also use open-source libraries that support OAuth 2.0 and OpenID Connect 1.0.

Microsoft セキュリティ開発ライフサイクル (Security Development Lifecycle: SDL) の手法を採用するプロトコル ドメインの専門家が記述したライブラリを使用することをお勧めします。We recommend that you use libraries written by protocol domain experts who follow a Security Development Lifecycle (SDL) methodology. たとえば、Microsoft が従っている方法などです。Such methodologies include the one that Microsoft follows. プロトコル用に手作業でコーディングする場合は、Microsoft SDL などの手法に従う必要があります。If you hand code for the protocols, you should follow a methodology such as Microsoft SDL. 各プロトコルの標準仕様におけるセキュリティの考慮事項に十分注意してください。Pay close attention to the security considerations in the standards specifications for each protocol.

注意

Azure Active Directory 認証ライブラリ (ADAL) をお探しですか。Are you looking for the Azure Active Directory Authentication Library (ADAL)? ADAL ライブラリ ガイドを確認してください。Check out the ADAL library guide.

ライブラリの種類Types of libraries

Microsoft ID プラットフォーム エンドポイントは、次の 2 種類のライブラリに対応します。The Microsoft identity platform endpoint works with two types of libraries:

  • クライアント ライブラリ:ネイティブ クライアントとサーバーでは、クライアント ライブラリを使用して、Microsoft Graph などのリソースを呼び出すためのアクセス トークンが取得されます。Client libraries: Native clients and servers use client libraries to acquire access tokens for calling a resource such as Microsoft Graph.
  • サーバー ミドルウェア ライブラリ:Web アプリは、ユーザーのサインインにサーバー ミドルウェア ライブラリを使用します。Server middleware libraries: Web apps use server middleware libraries for user sign-in. Web API は、サーバー ミドルウェア ライブラリを使用して、ネイティブ クライアントまたは他のサーバーによって送信されるトークンを検証します。Web APIs use server middleware libraries to validate tokens that are sent by native clients or by other servers.

ライブラリのサポートLibrary support

ライブラリには、次の 2 種類のサポート カテゴリがあります:Libraries come in two support categories:

  • Microsoft によるサポート:Microsoft は、これらのライブラリの修正プログラムを提供するほか、これらのライブラリに対する SDL の適正評価を行っています。Microsoft-supported: Microsoft provides fixes for these libraries and has done SDL due diligence on these libraries.
  • 互換性:Microsoft では、基本的なシナリオでこれらのライブラリがテストされ、Microsoft ID プラットフォーム エンドポイントで動作することが確認されています。Compatible: Microsoft has tested these libraries in basic scenarios and has confirmed that they work with the Microsoft identity platform endpoint. Microsoft では、これらのライブラリの修正プログラムは提供されていません。また、Microsoft では、これらのライブラリのレビューも実施されていません。Microsoft doesn't provide fixes for these libraries and hasn't done a review of these libraries. 問題や機能に関する要望は、ライブラリのオープン ソース プロジェクトにお送りください。Issues and feature requests should be directed to the library's open-source project.

Microsoft ID プラットフォーム エンドポイントで動作するライブラリの一覧については、以下のセクションを参照してください。For a list of libraries that work with the Microsoft identity platform endpoint, see the following sections.

Microsoft がサポートするクライアント ライブラリMicrosoft-supported client libraries

保護された Web API を呼び出すためのトークンを取得するには、クライアント認証ライブラリを使用します。Use client authentication libraries to acquire a token for calling a protected web API.

プラットフォームPlatform ライブラリLibrary ダウンロードDownload ソース コードSource code サンプルSample リファレンスReference 概念に関するドキュメントConceptual doc ロードマップRoadmap
JavaScript MSAL.jsMSAL.js NPMNPM GitHubGitHub シングルページ アプリSingle-page app リファレンスReference 概念に関するドキュメントConceptual docs ロードマップRoadmap
Angular MSAL AngularMSAL Angular NPMNPM GitHubGitHub Angular SPAAngular SPA リファレンスReference 概念に関するドキュメントConceptual docs ロードマップRoadmap
.NET Framework UWP Xamarin MSAL.NETMSAL.NET NuGetNuGet GitHubGitHub デスクトップ アプリDesktop app MSAL.NETMSAL.NET 概念に関するドキュメントConceptual docs ロードマップRoadmap
.NET Core アイコン Microsoft Identity WebMicrosoft Identity Web NuGetNuGet GitHubGitHub サンプルSamples Microsoft.Identity.WebMicrosoft.Identity.Web 概念に関するドキュメントConceptual docs ロードマップRoadmap
Python MSAL PythonMSAL Python PyPIPyPI GitHubGitHub サンプルSamples ReadTheDocsReadTheDocs WikiWiki ロードマップRoadmap
Java MSAL JavaMSAL Java MavenMaven GitHubGitHub サンプルSamples リファレンスReference WikiWiki ロードマップRoadmap
iOS と macOSiOS & macOS iOS および macOS 用の MSALMSAL iOS and macOS GitHubGitHub GitHubGitHub iOS アプリmacOS アプリiOS app, macOS app リファレンスReference 概念に関するドキュメントConceptual docs
Android/Java MSAL AndroidMSAL Android 中央リポジトリCentral repository GitHubGitHub Android アプリAndroid app JavaDocsJavaDocs 概念に関するドキュメントConceptual docs ロードマップRoadmap

Microsoft がサポートするサーバー ミドルウェア ライブラリMicrosoft-supported server middleware libraries

Web アプリケーションと Web API を保護するには、ミドルウェア ライブラリを使用します。Use middleware libraries to help protect web applications and web APIs. ASP.NET または ASP.NET Core で記述された Web アプリまたは Web API では、ミドルウェア ライブラリが使用されています。Web apps or web APIs written with ASP.NET or ASP.NET Core use the middleware libraries.

プラットフォームPlatform ライブラリLibrary ダウンロードDownload ソース コードSource Code サンプルSample リファレンスReference
.NET .NET Core ASP.NET のセキュリティASP.NET Security NuGetNuGet GitHubGitHub MVC アプリMVC app ASP.NET API リファレンスASP.NET API reference
.NET IdentityModel Extensions for .NETIdentityModel Extensions for .NET GitHubGitHub MVC アプリMVC app リファレンスReference
Node.js Azure AD PassportAzure AD Passport NPMNPM GitHubGitHub Web アプリWeb app

OS/言語別で Microsoft がサポートするライブラリMicrosoft-supported libraries by OS / language

サポートされているオペレーティング システムと言語の対照表は次のようになります。In term of supported operating systems vs languages, the mapping is the following:

プラットフォームPlatform WindowsWindows LinuxLinux macOSmacOS iOSiOS AndroidAndroid
JavaScript MSAL.jsMSAL.js MSAL.jsMSAL.js MSAL.jsMSAL.js MSAL.jsMSAL.js MSAL.jsMSAL.js
C# ASP.NET、ASP.NET Core、MSAL.Net (.NET FW、Core、UWP)ASP.NET, ASP.NET Core, MSAL.Net (.NET FW, Core, UWP) ASP.NET Core、MSAL.Net (.NET Core)ASP.NET Core, MSAL.Net (.NET Core) ASP.NET Core、MSAL.Net (macOS)ASP.NET Core, MSAL.Net (macOS) MSAL.Net (Xamarin.iOS)MSAL.Net (Xamarin.iOS) MSAL.Net (Xamarin.Android)MSAL.Net (Xamarin.Android)
SwiftSwift
Objective-CObjective-C
iOS および macOS 用の MSALMSAL for iOS and macOS iOS および macOS 用の MSALMSAL for iOS and macOS
Java JavaJava msal4jmsal4j msal4jmsal4j msal4jmsal4j MSAL AndroidMSAL Android
Python PythonPython MSAL PythonMSAL Python MSAL PythonMSAL Python MSAL PythonMSAL Python
Node.Js Node.JSNode.JS Passport.nodePassport.node Passport.nodePassport.node Passport.nodePassport.node

シナリオとサポートされているプラットフォームと言語も参照してください。See also Scenarios by supported platforms and languages

互換性のあるクライアント ライブラリCompatible client libraries

プラットフォームPlatform ライブラリ名Library name テスト済みのバージョンTested version ソース コードSource code サンプルSample
JavaScript Hello.jsHello.js バージョン 1.13.5Version 1.13.5 Hello.jsHello.js SPASPA
Vue Vue MSALVue MSAL バージョン 3.0.3Version 3.0.3 vue-msalvue-msal
Java Scribe JavaScribe Java バージョン 3.2.0Version 3.2.0 ScribeJavaScribeJava
Java Gluu OpenID Connect ライブラリGluu OpenID Connect library バージョン 3.0.2Version 3.0.2 Gluu OpenID Connect ライブラリGluu OpenID Connect library
Python Requests-OAuthlibRequests-OAuthlib バージョン 1.2.0Version 1.2.0 Requests-OAuthlibRequests-OAuthlib
Node.js openid-clientopenid-client バージョン 2.4.5Version 2.4.5 openid-clientopenid-client
PHP PHP League oauth2-clientThe PHP League oauth2-client バージョン 1.4.2Version 1.4.2 oauth2-clientoauth2-client
Ruby OmniAuthOmniAuth omniauth: 1.3.1omniauth: 1.3.1
omniauth-oauth2: 1.4.0omniauth-oauth2: 1.4.0
OmniAuthOmniAuth
OmniAuth OAuth2OmniAuth OAuth2
iOS、macOS、AndroidiOS, macOS, & Android React Native App 認証React Native App Auth バージョン 4.2.0Version 4.2.0 React Native App 認証React Native App Auth

標準に準拠しているライブラリの場合は、Microsoft ID プラットフォーム エンドポイントを使用できます。For any standards-compliant library, you can use the Microsoft identity platform endpoint. サポートの入手先を知っておくことが重要です。It's important to know where to go for support:

  • ライブラリ コードの問題と新機能に関する要望については、ライブラリ所有者にお問い合わせください。For issues and new feature requests in library code, contact the library owner.
  • サービス側のプロトコルの実装の問題と新機能に関する要望については、Microsoft にお問い合わせください。For issues and new feature requests in the service-side protocol implementation, contact Microsoft.
  • プロトコルに追加機能を求める場合、機能要求を提出してください。File a feature request for additional features you want to see in the protocol.
  • Microsoft ID プラットフォーム エンドポイントが OAuth 2.0 や OpenID Connect 1.0 に準拠しない問題があれば、サポート依頼を作成してください。Create a support request if you find an issue where the Microsoft identity platform endpoint isn't compliant with OAuth 2.0 or OpenID Connect 1.0.

Microsoft ID プラットフォーム エンドポイントの詳細については、「Microsoft ID プラットフォームの概要」を参照してください。For more information about the Microsoft identity platform endpoint, see the Microsoft identity platform overview.