IP Library Granted Patent US 11,245,682
Granted Patent B2
US 11,245,682 · App. 16/286,366 · Granted Feb 8, 2022

Adaptive authorization using access token

Inventors: Chuni Lal Kukreja (Delhi, IN); Aarathi Balakrishnan (Bangalore, IN); Deepak Ramakrishnan (Bangalore, IN)
Assignee: Oracle International Corporation
H04L63/0807G06F21/31H04L63/10H04L63/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,245,682
App. No.
16/286,366
Granted
Feb 8, 2022
Kind
B2
Abstract

Techniques for described for generating and using rule-enhanced access tokens in connection with authorization for access to resources. An access token is generated in response to determining that a user is authorized to access a protected resource. The access token contains rule information including one or more constraints, each constraint corresponding to a condition for granting or denying access to the protected resource. Upon receiving the access token, a client application can present the access token for accessing the protected resource. The client application can be configured to enforce one or more rules represented in the rule information. The client application can, for example, determine based on the one or more constraints that a condition for granting access is unmet and, in response, cancel a pending access request for the protected resource.

Claims (41)

1. A method, comprising:

receiving, by an access management system (AMS), an access token request from a client application at a client device, the access token request identifying a user of the client device and a resource to be accessed;

authenticating, by the AMS, the user based on one or more user-supplied credentials prior to generating a first access token;

determining, by the AMS, that the user of the client device is authorized to access the resource;

generating, by the AMS, the first access token in response to the determining that the user of the client device is authorized to access the resource, wherein the first access token includes one or more constraints, each constraint corresponding to a condition for granting or denying user access to the resource, wherein the one or more constraints correspond to at least one of the following conditions: a time during which access is allowed, a time during which access is denied, a user or user group that is allowed access, a user or user group that is denied access, an Internet Protocol (IP) address that is allowed access, an IP address that is denied access, a geographic location that is allowed access, or a geographic location that is denied access; and

sending, by the AMS, the first access token to the client application at the client device, wherein the first access token is presentable by the client application at the client device in an access request for obtaining access to the resource by the client application at the client device, and wherein the client application at the client device reads the one or more constraints from the first access token, the client application at the client device determines whether each condition for granting or denying user access to the resource is met according to the one or more constraints, the client application at the client device determines whether to proceed with the access request based on whether each condition for granting or denying user access to the resource is met, and, when the determination is to proceed with the access request, the client application at the client device presents the first access token in the access request to a resource host that hosts the resource, and the client application at the client device thereby obtains access to the resource.

2. The method of claim 1 , wherein generating the first access token further comprises adding to the first access token information indicating an expiration time for a rule represented by the one or more constraints.

3. The method of claim 2 , wherein generating the first access token further comprises adding to the first access token information indicating an expiration time for the first access token.

4. The method of claim 3 , wherein the expiration time for the rule is different from the expiration time for the first access token.

5. The method of claim 1 , further comprising:

receiving, by the AMS, a request from the client application for a new access token presentable for obtaining access to the resource; and

generating, by the AMS, a second access token in response to the request for a new access token, wherein the second access token includes at least one of an additional constraint not included in the first access token, a removal of a constraint included in the first access token, or a replacement for a constraint included in the first access token.

6. The method of claim 1 , wherein the AMS determines that the user is authorized to access the resource based on an Open Authorization (OAuth) protocol.

7. The method of claim 1 , wherein the client application at the client device generates the access request that includes the first access token in a header of the access request.

8. The method of claim 1 , wherein the client application at the client device determines to proceed with the access request when each condition for granting user access to the resource is met, and wherein the client application at the client device enforces the conditions without a backchannel request to the AMS in connection with the access request.

9. A non-transitory computer-readable storage medium containing instructions that, when executed by one or more processors of an access management system (AMS), cause the one or more processors to perform processing comprising:

receiving an access token request from a client application at a client device, the access token request identifying a user of the client device and a resource to be accessed;

authenticating the user based on one or more user-supplied credentials prior to generating a first access token;

determining that the user of the client device is authorized to access the resource;

generating the first access token in response to the determining that the user of the client device is authorized to access the resource, wherein the first access token includes one or more constraints, each constraint corresponding to a condition for granting or denying user access to the resource, wherein the one or more constraints correspond to at least one of the following conditions: a time during which access is allowed, a time during which access is denied, a user or user group that is allowed access, a user or user group that is denied access, an Internet Protocol (IP) address that is allowed access, an IP address that is denied access, a geographic location that is allowed access, or a geographic location that is denied access; and

sending the first access token to the client application at the client device, wherein the first access token is presentable by the client application at the client device in an access request for obtaining access to the resource by the client application at the client device, and wherein the client application at the client device reads the one or more constraints from the first access token, the client application at the client device determines whether each condition for granting or denying user access to the resource is met according to the one or more constraints, the client application at the client device determines whether to proceed with the access request based on whether each condition for granting or denying user access to the resource is met, and, when the determination is to proceed with the access request, the client application at the client device presents the first access token in the access request to a resource host that hosts the resource, and the client application at the client device thereby obtains access to the resource.

10. The non-transitory computer-readable storage medium of claim 9 , wherein generating the first access token further comprises adding to the first access token information indicating an expiration time for a rule represented by the one or more constraints.

11. The non-transitory computer-readable storage medium of claim 10 , wherein generating the first access token further comprises adding to the first access token information indicating an expiration time for the first access token.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the expiration time for the rule is different from the expiration time for the first access token.

13. The non-transitory computer-readable storage medium of claim 9 , wherein the instructions further cause the one or more processors to perform processing comprising:

receiving a request from the client application for a new access token presentable for obtaining access to the resource; and

generating a second access token in response to the request for a new access token, wherein the second access token includes at least one of an additional constraint not included in the first access token, a removal of a constraint included in the first access token, or a replacement for a constraint included in the first access token.

14. An access management system, comprising:

one or more processors; and

a memory coupled to the one or more processors, the memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform processing comprising:

receiving an access token request from a client application at a client device, the access token request identifying a user of the client device and a resource to be accessed;

authenticating the user based on one or more user-supplied credentials prior to generating a first access token;

determining that the user of the client device is authorized to access the resource;

generating the first access token in response to the determining that the user of the client device is authorized to access the resource, wherein the first access token includes one or more constraints, each constraint corresponding to a condition for granting or denying user access to the resource, wherein the one or more constraints correspond to at least one of the following conditions: a time during which access is allowed, a time during which access is denied, a user or user group that is allowed access, a user or user group that is denied access, an Internet Protocol (IP) address that is allowed access, an IP address that is denied access, a geographic location that is allowed access, or a geographic location that is denied access; and

sending the first access token to the client application at the client device, wherein the first access token is presentable by the client application at the client device in an access request for obtaining access to the resource by the client application at the client device, and wherein the client application at the client device reads the one or more constraints from the first access token, the client application at the client device determines whether each condition for granting or denying user access to the resource is met according to the one or more constraints, the client application at the client device determines whether to proceed with the access request based on whether each condition for granting or denying user access to the resource is met, and, when the determination is to proceed with the access request, the client application at the client device presents the first access token in the access request to a resource host that hosts the resource, and the client application at the client device thereby obtains access to the resource.

15. The access management system of claim 14 , wherein generating the first access token further comprises:

adding to the first access token information indicating an expiration time for a rule represented by the one or more constraints; and

adding to the first access token information indicating an expiration time for the first access token, wherein the expiration time for the rule is different from the expiration time for the first access token.

16. The access management system of claim 14 , wherein the instructions further cause the one or more processors to perform processing comprising:

receiving a request from the client application for a new access token presentable for obtaining access to the resource; and

generating a second access token in response to the request for a new access token, wherein the second access token includes at least one of an additional constraint not included in the first access token, a removal of a constraint included in the first access token, or a replacement for a constraint included in the first access token.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2019
From: KUKREJA, CHUNI LAL; BALAKRISHNAN, AARATHI; RAMAKRISHNAN, DEEPAK
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 048451/0540 →
Priority Claims (1)
IN 201841039499 · Oct 18, 2018 · national
Continuity (1)
Related Publication 20200127994A1 · Apr 23, 2020
Cited By (3)
US 12,495,048 US 12,671,588 US 12,694,445