認証の新機能What's new for authentication?
この記事の内容
|
この URL をお使いの RSS アイコン フィード リーダーに追加して、更新内容を確認するためにこのページに再度アクセスするタイミングに関する通知を受け取ってください。Get notified about when to revisit this page for updates by adding this URL to your RSS feed reader.
認証システムは、セキュリティの向上と規格への準拠を確保するために、継続的に機能の変更と追加を行います。The authentication system alters and adds features on an ongoing basis in order to improve security and improve standards compliance. 常に最新の開発情報を把握していただけるよう、この記事では以下に関する情報を提供します。To stay up-to-date with the most recent developments, this article provides you with information about:
- 最新の機能The latest features
- 既知の問題Known issues
- プロトコルの変更Protocol changes
- 非推奨の機能Deprecated functionality
ヒント
このページは頻繁に更新されるため、定期的にアクセスしてご確認ください。This page is updated regularly, so revisit often. 特に明記されていない限り、これらの変更は新規に登録されたアプリケーションに対してのみ適用されます。Unless otherwise noted, these changes are only put in place for newly registered applications.
今後の変更Upcoming changes
認証コードを再利用できなくなりましたAuthorization codes can no longer be reused
有効日: 2018 年 10 月 10 日影響を受けるエンドポイント: v1.0 と v2.0 の両方影響を受けるプロトコル: コード フローEffective date: October 10, 2018 Endpoints impacted: Both v1.0 and v2.0 Protocol impacted: Code flow
2018 年 10 月 10 日以降、Azure AD では、以前使用されていた承認コードの新しいアプリに対する受け入れが停止されます。Starting on October 10, 2018, Azure AD will stop accepting previously-used authentication codes for new apps. 2018 年 10 月 10 日より前に作成されたすべてのアプリでは、引き続き承認コードを再利用できます。Any app created before October 10, 2018 will still be able to reuse authentication codes. このセキュリティの変更により、Azure AD と OAuth の仕様が一致するようになります。この変更は、v1 と v2 両方のエンドポイントに適用されます。This security change helps to bring Azure AD in line with the OAuth specification and will be enforced on both the v1 and v2 endpoints.
お使いのアプリで承認コードを再利用して複数のリソースに対するトークンを取得している場合は、コードを使用して更新トークンを取得した後、その更新トークンを使用して他のリソース用のトークンを追加取得することお勧めします。If your app reuses authorization codes to get tokens for multiple resources, we recommend that you use the code to get a refresh token, and then use that refresh token to acquire additional tokens for other resources. 承認コードは 1 回しか使用できませんが、更新トークンは複数のリソースで複数回使用できます。Authorization codes can only be used once, but refresh tokens can be used multiple times across multiple resources. OAuth コード フローの使用時に新しいアプリで認証コードを再利用しようとすると、invalid_grant エラーが発生します。Any new app that attempts to reuse an authentication code during the OAuth code flow will get an invalid_grant error.
更新トークンについて詳しくは、「アクセス トークンの更新」をご覧ください。For more information about refresh tokens, see Refreshing the access tokens.
2018 年 5 月May 2018
ID トークンは OBO フローに使用できませんID tokens cannot be used for the OBO flow
日付: 2018 年 5 月 1 日 影響を受けるエンドポイント: v1.0 と v2.0 の両方 影響を受けるプロトコル: 暗黙のフローと OBO フローDate: May 1, 2018 Endpoints impacted: Both v1.0 and v2.0 Protocols impacted: Implicit flow and OBO flow
2018 年 5 月 1 日以降、id_tokens は新しいアプリケーションの OBO フローでアサーションとして使用できません。After May 1, 2018, id_tokens cannot be used as the assertion in an OBO flow for new applications. 代わりに、アクセス トークンを使用して、同じアプリケーションのクライアントと中間層の間でも、API のセキュリティを確保する必要があります。Access tokens should be used instead to secure APIs, even between a client and middle tier of the same application. 2018 年 5 月 1 日より前に登録されたアプリは、引き続き動作し、アクセス トークンの id_tokens を交換することができますが、これはベスト プラクティスとはみなされません。Apps registered before May 1, 2018 will continue to work and be able to exchange id_tokens for an access token - however, this is not considered a best practice.
この変更を回避するには、次の操作を行います。In order to work around this change, you can do the following:
- 1 つ以上のスコープを使用して、中間層アプリケーション用の Web API を作成します。Create a Web API for your middle tier application, with one or more scopes. これにより、きめ細かな制御とセキュリティが可能になります。This will allow finer grained control and security.
- アプリのマニフェスト、Azure ポータル、またはアプリ登録ポータルで、アプリが暗黙のフローを介してアクセストークンを発行できることを確認します。In your app's manifest, the Azure Portal, or the App Registration Portal, ensure that the app is allowed to issue access tokens via the implicit flow. これは
oauth2AllowImplicitFlow
キーによって制御されます。This is controlled via theoauth2AllowImplicitFlow
key. - クライアント アプリケーションで
response_type=id_token
を使用して id_token を要求した場合、上記で作成した Web API に対してもアクセス トークン (response_type=token
) を要求します。When your client application requests an id_token viaresponse_type=id_token
, also request an access token (response_type=token
) for the Web API created above. したがって、v2.0 エンドポイントを使用する場合、scope
パラメータはapi://GUID/SCOPE
と同様のものになります。Thus, when using the v2.0 endpoint thescope
parameter should look similar toapi://GUID/SCOPE
. v1.0 エンドポイントでは、resource
パラメータを Web API のアプリ URI にする必要があります。On the v1.0 endpoint, theresource
parameter should be the app URI of the web API. - このアクセストークンを、id_token の代わりに、中間層に渡します。Pass this access token to the middle tier in place of the id_token.