Skip to content

Commit 742ebb2

Browse files
Merge pull request #5536 from DonOmalVindula/fix/25125
2 parents df947e9 + af97081 commit 742ebb2

File tree

8 files changed

+151
-47
lines changed

8 files changed

+151
-47
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Generate JSON Web Tokens without revoking existing tokens
2+
3+
!!! note
4+
Instead of configuring the **JSON Web Token (JWT)** token in the
5+
`deployment.toml` file, you can also choose to configure
6+
it using the management console while configuring the OAuth application.
7+
8+
Select **JWT** as the Token Issuer for a new or existing OAuth/OpenID
9+
connect consumer application. See
10+
[Advanced OpenID Connect Configurations](../../../guides/login/oauth-app-config-advanced/)
11+
for more information.
12+
13+
![jwt-token-issuer]({{base_path}}/assets/img/guides/jwt-token-issuer.png)
14+
15+
When WSO2 Identity Server receives a request to generate a new JSON Web Token (JWT), it issues a token based on the application, user, scope, and binding combination. If the server receives another request for the same combination, it revokes the existing token and returns a new one.
16+
17+
If you want to generate a JWT without revoking the existing token, add and configure the following property in the `<IS_HOME>/repository/conf/deployment.toml` file.
18+
19+
```toml
20+
[oauth.jwt.renew_token_without_revoking_existing]
21+
enable = true
22+
```
23+
24+
!!! Note
25+
This feature supports token requests with the `client_crendetials` grant type by default. If you need to enable for other grant types, add the following configuration to the same `<IS_HOME>/repository/conf/deployment.toml` file.
26+
27+
```toml
28+
[oauth.jwt.renew_token_without_revoking_existing]
29+
enable = true
30+
allowed_grant_types = ["client_credentials","password", ...]
31+
```
32+
33+
!!! Warning
34+
Enabling this feature could lead to an exponential growth of tokens. Make sure to configure token clean up scripts with proper time limits. See [Remove Unused Tokens from the Database]({{base_path}}/deploy/remove-unused-tokens-from-the-database/) for details.

en/identity-server/6.1.0/mkdocs.yml

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@ nav:
7474
- OpenCart: guides/login/log-into-opencart-using-is.md
7575
- Workday: guides/login/log-into-workday-using-is.md
7676
- SimpleSAMLphp: guides/login/log-into-simplesaml-using-is.md
77-
- Salesforce:
77+
- Salesforce:
7878
- Salesforce with IS: guides/login/log-into-salesforce-using-is.md
7979
- Salesforce with Facebook: guides/login/log-into-salesforce-using-fb.md
8080
- Salesforce with IWA: guides/login/log-into-salesforce-using-iwa.md
81-
- Office365:
81+
- Office365:
8282
- Office365 with IS: guides/login/log-into-office365-using-is.md
8383
- Office365 with SAML2: guides/login/log-into-office365saml-using-is.md
8484
- Office365 with SAML2 for Multiple Domains: guides/login/log-into-office365saml-multiple-domains.md
@@ -91,12 +91,12 @@ nav:
9191
- Microsoft Dynamics CRM with WS Federation: guides/login/log-into-dynamic-crm-with-wsfederation.md
9292
#- Integrate Using Custom Protocols: guides/login/integrate-custom-protocol.md
9393
- OIDC Flows:
94-
- Overview: guides/login/oidc-authentication.md
95-
- OIDC Auth Code Flow: guides/login/oidc-basic-client-profile.md
94+
- Overview: guides/login/oidc-authentication.md
95+
- OIDC Auth Code Flow: guides/login/oidc-basic-client-profile.md
9696
- OIDC Auth Code Flow with PKCE for public clients: guides/login/oidc-auth-code-pkce-public-clients.md
9797
- OIDC Auth Code Flow with PKCE: guides/login/oidc-auth-code-pkce.md
98-
- OIDC Implicit Flow: guides/login/oidc-implicit-client-profile.md
99-
- OIDC Hybrid Flow: guides/login/oidc-hybrid-flow.md
98+
- OIDC Implicit Flow: guides/login/oidc-implicit-client-profile.md
99+
- OIDC Hybrid Flow: guides/login/oidc-hybrid-flow.md
100100
- Pass Parameters as a Request Object: guides/login/request-object.md
101101
- Manage Scopes and Claims: guides/login/oidc-scopes-claims.md
102102
- Encrypt ID Tokens: guides/login/oidc-token-encryption.md
@@ -120,7 +120,7 @@ nav:
120120
- Use Certificates with Applications: guides/login/use-certificates-with-applications.md
121121
- Session Timeout: guides/login/session-timeout.md
122122
- Multi-Attribute Login: guides/login/multi-attribute-login.md
123-
- Single Sign On:
123+
- Single Sign On:
124124
- Enable Single Sign On: guides/login/enable-single-sign-on.md
125125
- OIDC Applications: guides/login/sso-for-oidc.md
126126
- SAML Applications: guides/login/sso-for-saml.md
@@ -162,7 +162,7 @@ nav:
162162
- SMS OTP configs: guides/mfa/sms-otp-config-advanced.md
163163
- Adaptive Authentication:
164164
- Overview: guides/adaptive-auth/configure-adaptive-auth.md
165-
- Adaptive Authentication Scenarios:
165+
- Adaptive Authentication Scenarios:
166166
- Overview: guides/adaptive-auth/adaptive-auth-overview.md
167167
- Role-Based: guides/adaptive-auth/role-based-adaptive-auth.md
168168
- User Age-Based: guides/adaptive-auth/age-based-adaptive-auth.md
@@ -176,7 +176,7 @@ nav:
176176
- TypingDNA-Based: guides/adaptive-auth/typingdna-based-adaptive-auth.md
177177
- Using Function Library: guides/adaptive-auth/adaptive-auth-with-function-lib-sample.md
178178
- Limiting Active User Sessions: guides/adaptive-auth/limiting-active-sessions-adaptive-auth.md
179-
179+
180180
- Identity Federation:
181181
- Overview: guides/identity-federation/identity-federation-overview.md
182182
- Enterprise Identity Federation:
@@ -219,6 +219,7 @@ nav:
219219
- OAuth 2.0 Token Hashing: guides/access-delegation/oauth-token-hashing.md
220220
- Revoke OAuth Tokens: guides/access-delegation/oauth-token-revocation.md
221221
- Mutual TLS for OAuth clients: guides/access-delegation/mutual-tls-for-oauth-clients.md
222+
- Generate JWT tokens without revoking existing tokens: guides/access-delegation/generate-jwt-tokens-without-revoking-existing-tokens.md
222223
- Consent Management:
223224
- Manage user consent: guides/consent-mgt/manage-user-consent.md
224225
- Manage consent puposes: guides/consent-mgt/manage-consent-purposes.md
@@ -240,7 +241,7 @@ nav:
240241
- Add Multiple User Profiles: guides/identity-lifecycles/customize-profiles.md
241242
- Manage User Attributes: guides/identity-lifecycles/manage-user-attributes.md
242243
- Track User Deletion: guides/identity-lifecycles/track-deletion.md
243-
- Manage Roles:
244+
- Manage Roles:
244245
- Overview: guides/identity-lifecycles/manage-roles-overview.md
245246
- Add User Roles: guides/identity-lifecycles/add-user-roles.md
246247
- Edit/Delete Roles: guides/identity-lifecycles/edit-delete-roles.md
@@ -304,7 +305,7 @@ nav:
304305
- Salesforce: guides/identity-lifecycles/sync-with-salesforce.md
305306
- Sendgrid: guides/identity-lifecycles/sync-with-sendgrid.md
306307
- Zoho CRM: guides/identity-lifecycles/sync-with-zoho.md
307-
- User Self-Service:
308+
- User Self-Service:
308309
- Overview: guides/my-account/my-account.md
309310
- Manage Own Profile: guides/my-account/manage-own-profile.md
310311
- Export User Profile: guides/my-account/export-my-user-profile.md
@@ -337,9 +338,9 @@ nav:
337338
#- Configure Attribute Metadata: guides/attribute-dialects/metadata.md
338339
- Access Control:
339340
- Overview: guides/authorization/overview.md
340-
- Access Management:
341+
- Access Management:
341342
- Intro: guides/authorization/access-mgt.md
342-
- Create a policy:
343+
- Create a policy:
343344
- Create a new policy: guides/authorization/create-a-policy.md
344345
- Customize an existing template: guides/authorization/customize-a-policy-template.md
345346
- Edit a policy: guides/authorization/edit-a-policy.md
@@ -352,10 +353,10 @@ nav:
352353
- Use the XACML Tryit tool:
353354
- Overview: guides/authorization/xacml-tryittool-overview.md
354355
- Evaluate a XACML Policy: guides/authorization/evaluate-a-xacml-policy.md
355-
- Fine-Grained Authorization:
356+
- Fine-Grained Authorization:
356357
- Using XACML: guides/authorization/fine-grained-auth-xacml.md
357358
- Using JSON: guides/authorization/fine-grained-auth-json.md
358-
- Multiple Decision Point:
359+
- Multiple Decision Point:
359360
- Introduction: guides/authorization/mdp-requests.md
360361
- MDP to authorize hierarchical resources: guides/authorization/mdp-authorize-resources.md
361362
- MDP with repeating attributes: guides/authorization/mdp-repeating-attr.md
@@ -375,7 +376,7 @@ nav:
375376
- Configure the System Administrator: deploy/configure-the-system-administrator.md
376377
- Configure User Stores:
377378
- Overview: deploy/configure-user-stores.md
378-
- Configure the Primary User store:
379+
- Configure the Primary User store:
379380
- Overview: deploy/configure-the-primary-user-store.md
380381
- Configure a JDBC User store: deploy/configure-a-jdbc-user-store.md
381382
- Configure a Read-only LDAP User store: deploy/configure-a-read-only-ldap-user-store.md
@@ -420,13 +421,13 @@ nav:
420421
- reCAPTCHA: deploy/configure-recaptcha.md
421422
- Secure:
422423
- Mitigate Attacks:
423-
- Mitigate Cross Site Request Forgery Attacks: deploy/mitigate-attacks/mitigate-cross-site-request-forgery-attacks.md
424+
- Mitigate Cross Site Request Forgery Attacks: deploy/mitigate-attacks/mitigate-cross-site-request-forgery-attacks.md
424425
- Mitigate Authorization Code Interception Attacks: deploy/mitigate-attacks/mitigate-authorization-code-interception-attacks.md
425426
- Mitigate Brute Force Attacks: deploy/mitigate-attacks/mitigate-brute-force-attacks.md
426427
- Mitigate Replay Attacks: deploy/mitigate-attacks/timestamp-in-ws-security-to-mitigate-replay-attacks.md
427428
- SameSite Attribute Support: deploy/samesite-attribute-support.md
428429
- Prevent Browser Caching: deploy/security/prevent-browser-caching.md
429-
- Work with Tokens:
430+
- Work with Tokens:
430431
- Add Logs for Tokens: deploy/add-logs-for-tokens.md
431432
- Token Persistence: deploy/token-persistence.md
432433
- Remove Unused Tokens from the Database: deploy/remove-unused-tokens-from-the-database.md
@@ -435,7 +436,7 @@ nav:
435436
- Enable HostName Verification: deploy/enable-hostname-verification.md
436437
- Configure TLS Termination: deploy/configure-tls-termination.md
437438
- Maintain Logins and Passwords: deploy/security/maintain-logins-and-passwords.md
438-
- Secure Passwords in Configuration Files:
439+
- Secure Passwords in Configuration Files:
439440
- Encrypt Passwords with Cipher Tool: deploy/security/encrypt-passwords-with-cipher-tool.md
440441
- Resolve Encrypted Passwords: deploy/security/resolve-encrypted-passwords.md
441442
- Customize Secure Vault: deploy/security/customize-secure-vault.md
@@ -447,7 +448,7 @@ nav:
447448
- Security Guidelines:
448449
- Overview: deploy/security/security-guidelines-for-production-deployment.md
449450
- Product-Level: deploy/security/product-level-security-guidelines.md
450-
- OS-Level: deploy/security/os-level-security-guidelines.md
451+
- OS-Level: deploy/security/os-level-security-guidelines.md
451452
- Network-Level: deploy/security/network-level-security-guidelines.md
452453
- Encryption:
453454
- Asymmetric Encryption:
@@ -505,7 +506,7 @@ nav:
505506
- Entitlement management API: apis/entitlement-with-rest-apis.md
506507
- User management:
507508
- SCIM 1.1 API: apis/scim-1.1-apis.md
508-
- SCIM 2.0 API:
509+
- SCIM 2.0 API:
509510
- SCIM 2.0 API Definition: apis/scim2-rest-apis.md
510511
- SCIM 2.0 Patch Operations: apis/scim2-patch-operations.md
511512
- SCIM 2.0 Batch Operations: apis/scim2-batch-operations.md
@@ -552,14 +553,14 @@ nav:
552553
- Admin services:
553554
- Call admin services: apis/call-admin-services.md
554555
- One way operations: apis/admin-services-for-one-way-operations.md
555-
556+
556557
- SDKs:
557558
- Overview: sdks/sdk-overview.md
558559
- Integrate a React app: sdks/start-integrating-apps/integrate-a-react-app.md
559560
- Integrate an Angular app: sdks/start-integrating-apps/integrate-an-angular-app.md
560561
- Integrate a JS app: sdks/start-integrating-apps/integrate-a-js-app.md
561562
- Integrate your Spring Boot app: sdks/spring-boot.md
562-
563+
563564
- References:
564565
- Overview: references/references-overview.md
565566
- About this Release: references/about-this-release.md
@@ -573,7 +574,7 @@ nav:
573574
- Overview: references/concepts/user-management/user-management.md
574575
- Users: references/concepts/user-management/users.md
575576
- Roles and Permissions: references/concepts/user-management/roles-and-permissions.md
576-
- User stores:
577+
- User stores:
577578
- User stores: references/concepts/user-management/userstores.md
578579
- Realms: references/concepts/user-management/realm.md
579580
- Claims: references/concepts/claim-management.md
@@ -600,7 +601,7 @@ nav:
600601
- JIT Provisioning: guides/identity-federation/jit-workflow.md
601602
- Outbound Provisioning Connectors: guides/identity-federation/outbound-provisioing-idp.md
602603
- Manage an IdP: guides/identity-federation/manage-idp.md
603-
- Resident IdP:
604+
- Resident IdP:
604605
- Set up a Resident IdP: guides/identity-federation/resident-idp.md
605606
- Inbound Authentication: guides/identity-federation/resident-inbound-auth.md
606607
- Inbound Provisioning: guides/identity-federation/resident-inbound-provisioning.md
@@ -625,23 +626,23 @@ nav:
625626
#- Write a Custom Policy Info Point: references/extend/access-control/write-a-custom-policy-info-point.md
626627
- XACML policy writing:
627628
- XACML policy language structure and syntax: references/extend/access-control/xacml-structure-and-syntax.md
628-
- Write a XACML 2 policy:
629+
- Write a XACML 2 policy:
629630
- Introduction: references/extend/access-control/xacml2-policy-writing.md
630631
- XACML 2 sample policy 1: references/extend/access-control/xacml2-sample1.md
631632
- XACML 2 sample policy 2: references/extend/access-control/xacml2-sample2.md
632633
- XACML 2 sample policy 3: references/extend/access-control/xacml2-sample3.md
633634
- XACML 2 sample policy 4: references/extend/access-control/xacml2-sample4.md
634635
- XACML 2 sample policy 5: references/extend/access-control/xacml2-sample5.md
635636
- XACML 2 sample policy 6: references/extend/access-control/xacml2-sample6.md
636-
- Write a XACML 3 policy:
637+
- Write a XACML 3 policy:
637638
- Introduction: references/extend/access-control/xacml3-policy-writing.md
638639
- XACML 3 sample policy 1: references/extend/access-control/xacml3-sample1.md
639640
- XACML 3 sample policy 2: references/extend/access-control/xacml3-sample2.md
640641
- XACML 3 sample policy 3: references/extend/access-control/xacml3-sample3.md
641642
- XACML 3 sample policy 4: references/extend/access-control/xacml3-sample4.md
642643
- XACML 3 sample policy 5: references/extend/access-control/xacml3-sample5.md
643644
- XACML 3 sample policy 6: references/extend/access-control/xacml3-sample6.md
644-
- XACML 3 policy using XPath: references/extend/access-control/xacml3-policy-using-xpath.md
645+
- XACML 3 policy using XPath: references/extend/access-control/xacml3-policy-using-xpath.md
645646
- User Management:
646647
#- Write a Custom Password Validator: references/extend/user-mgt/write-a-custom-password-validator.md
647648
- Write a Custom Claim Handler: references/extend/user-mgt/write-a-custom-claim-handler.md
@@ -1435,7 +1436,7 @@ plugins:
14351436
'get-started/identity-anti-patterns-and-the-identity-bus.md': 'https://is.docs.wso2.com/en/6.0.0/references/concepts/identity-anti-patterns-and-the-identity-bus/'
14361437
'get-started/cross-protocol-single-logout.md': 'https://is.docs.wso2.com/en/6.0.0/guides/login/cross-protocol-logout/'
14371438
'get-started/sample-use-cases/workflows.md': 'https://is.docs.wso2.com/en/6.0.0/get-started/sample-use-cases/sample-scenario/'
1438-
1439+
14391440
# Extra
14401441
extra_css:
14411442
- assets/lib/highlightjs/default.min.css
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Generate JSON Web Tokens without revoking existing tokens
2+
3+
When WSO2 Identity Server receives a request to generate a new JSON Web Token (JWT), it issues a token based on the application, user, scope, and binding combination. If the server receives another request for the same combination, it revokes the existing token and returns a new one.
4+
5+
If you want to generate a JWT without revoking the existing token, add and configure the following property in the `<IS_HOME>/repository/conf/deployment.toml` file.
6+
7+
```toml
8+
[oauth.jwt.renew_token_without_revoking_existing]
9+
enable = true
10+
```
11+
12+
!!! Note
13+
This feature supports token requests with the `client_crendetials` grant type by default. If you need to enable for other grant types, add the following configuration to the same `<IS_HOME>/repository/conf/deployment.toml` file.
14+
15+
```toml
16+
[oauth.jwt.renew_token_without_revoking_existing]
17+
enable = true
18+
allowed_grant_types = ["client_credentials","password", ...]
19+
```
20+
21+
!!! Warning
22+
Enabling this feature could lead to an exponential growth of tokens. Make sure to configure token clean up scripts with proper time limits. See [Remove Unused Tokens from the Database]({{base_path}}/deploy/remove-unused-tokens-from-the-database/) for details.

0 commit comments

Comments
 (0)