Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] Fix wrong unit of Access Token Response's expires_in field #14554

Conversation

BewareMyPower
Copy link
Contributor

Motivation

The expires_in field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

Modifications

Record the time point via the std::time_point class, which supports
add operations with a std::duration object. Then converts the
expires_in field via std::chrono::second function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.

### Motivation

The `expires_in` field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

### Modifications

Record the time point via the `std::time_point` class, which supports
add operations with a `std::duration` object. Then converts the
`expires_in` field via `std::chrono::second` function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.
@BewareMyPower BewareMyPower merged commit 95c1581 into apache:master Mar 8, 2022
@BewareMyPower BewareMyPower deleted the bewaremypower/cpp-oauth-expire-fix branch March 8, 2022 04:53
codelipenghui pushed a commit that referenced this pull request Mar 9, 2022
…14554)

### Motivation

The `expires_in` field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

### Modifications

Record the time point via the `std::time_point` class, which supports
add operations with a `std::duration` object. Then converts the
`expires_in` field via `std::chrono::second` function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.

(cherry picked from commit 95c1581)
@codelipenghui codelipenghui added the cherry-picked/branch-2.8 Archived: 2.8 is end of life label Mar 9, 2022
@codelipenghui codelipenghui added this to the 2.11.0 milestone Mar 9, 2022
nicoloboschi pushed a commit to datastax/pulsar that referenced this pull request Mar 9, 2022
…pache#14554)

### Motivation

The `expires_in` field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

### Modifications

Record the time point via the `std::time_point` class, which supports
add operations with a `std::duration` object. Then converts the
`expires_in` field via `std::chrono::second` function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.

(cherry picked from commit 95c1581)
(cherry picked from commit 669ce98)
@gaoran10 gaoran10 added cherry-picked/branch-2.9 Archived: 2.9 is end of life release/2.9.2 and removed release/2.9.3 labels Mar 11, 2022
gaoran10 pushed a commit that referenced this pull request Mar 11, 2022
…14554)

The `expires_in` field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

Record the time point via the `std::time_point` class, which supports
add operations with a `std::duration` object. Then converts the
`expires_in` field via `std::chrono::second` function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.

(cherry picked from commit 95c1581)
codelipenghui pushed a commit that referenced this pull request Mar 12, 2022
…14554)

### Motivation

The `expires_in` field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

### Modifications

Record the time point via the `std::time_point` class, which supports
add operations with a `std::duration` object. Then converts the
`expires_in` field via `std::chrono::second` function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.

(cherry picked from commit 95c1581)
@codelipenghui codelipenghui modified the milestones: 2.11.0, 2.10.0 Mar 12, 2022
Nicklee007 pushed a commit to Nicklee007/pulsar that referenced this pull request Apr 20, 2022
…pache#14554)

### Motivation

The `expires_in` field of Access Token Response is in seconds. See
https://datatracker.ietf.org/doc/html/rfc6749#section-4.2.2. However,
C++ client treats it as milliseconds currently. It will leads to an
earlier expiration of the token.

### Modifications

Record the time point via the `std::time_point` class, which supports
add operations with a `std::duration` object. Then converts the
`expires_in` field via `std::chrono::second` function and calculate the
expired time point.

It also removes the usage of Boost time functions and makes code more clear.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-picked/branch-2.8 Archived: 2.8 is end of life cherry-picked/branch-2.9 Archived: 2.9 is end of life doc-not-needed Your PR changes do not impact docs release/2.8.4 release/2.9.2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants