Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGES.ja.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
変更点
======

4.48 (未リリース)
-----------------

- `Service` クラス
* `isIdTokenDroppedOnIssueWithoutOpenid()` メソッドを追加。
* `setIdTokenDroppedOnIssueWithoutOpenid(boolean)` メソッドを追加。


4.47 (2026 年 07 月 09 日)
-----------------

Expand Down
8 changes: 8 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
CHANGES
=======

4.48 (Unreleased)
-----------------

- `Service` class
* Added the `isIdTokenDroppedOnIssueWithoutOpenid()` method.
* Added the `setIdTokenDroppedOnIssueWithoutOpenid(boolean)` method.


4.47 (2026-07-09)
-----------------

Expand Down
80 changes: 79 additions & 1 deletion src/main/java/com/authlete/common/dto/Service.java
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@
*/
public class Service implements Serializable
{
private static final long serialVersionUID = 93L;
private static final long serialVersionUID = 94L;


/*
Expand Down Expand Up @@ -2103,6 +2103,18 @@ public class Service implements Serializable
private boolean backchannelLogoutSessionSupported;


/**
* The flag indicating whether to refrain from issuing an ID token when the
* {@code openid} scope has been removed from the scopes to be granted by
* the {@code scopes} request parameter of the
* {@code /auth/authorization/issue} API.
*
* @since 4.48
* @since Authlete 3.0.36
*/
private boolean idTokenDroppedOnIssueWithoutOpenid;


/**
* Get the service number.
*
Expand Down Expand Up @@ -13965,4 +13977,70 @@ public Service setBackchannelLogoutSessionSupported(boolean supported)

return this;
}


/**
* Get the flag indicating whether to refrain from issuing an ID token when
* the {@code openid} scope has been removed from the scopes to be granted
* by the {@code scopes} request parameter of the
* {@code /auth/authorization/issue} API.
*
* <p>
* The {@code scopes} request parameter of the
* {@code /auth/authorization/issue} API can narrow down the scopes that
* were requested by the original authorization request. When the
* {@code openid} scope is removed in this way, the {@code scope} of the
* issued access token no longer contains {@code openid}, but, for
* historical reasons, an ID token is issued nevertheless.
* </p>
*
* <p>
* When this flag is {@code true}, no ID token is issued in that case, so
* that ID token issuance follows the granted {@code openid} scope. Flows
* whose {@code response_type} contains {@code id_token} are not affected,
* because the response type itself requires an ID token.
* </p>
*
* @return
* {@code true} if no ID token is issued when the {@code openid}
* scope has been removed by the {@code scopes} request parameter
* of the {@code /auth/authorization/issue} API.
*
* @since 4.48
* @since Authlete 3.0.36
*/
public boolean isIdTokenDroppedOnIssueWithoutOpenid()
{
return idTokenDroppedOnIssueWithoutOpenid;
}


/**
* Set the flag indicating whether to refrain from issuing an ID token when
* the {@code openid} scope has been removed from the scopes to be granted
* by the {@code scopes} request parameter of the
* {@code /auth/authorization/issue} API.
*
* <p>
* See the description of {@link #isIdTokenDroppedOnIssueWithoutOpenid()}
* for details.
* </p>
*
* @param dropped
* {@code true} to refrain from issuing an ID token when the
* {@code openid} scope has been removed by the {@code scopes}
* request parameter of the {@code /auth/authorization/issue} API.
*
* @return
* {@code this} object.
*
* @since 4.48
* @since Authlete 3.0.36
*/
public Service setIdTokenDroppedOnIssueWithoutOpenid(boolean dropped)
{
this.idTokenDroppedOnIssueWithoutOpenid = dropped;

return this;
}
}