From 7ea46e581dfd42036c3fd6c0853195cf912d911e Mon Sep 17 00:00:00 2001
From: Thibaud Sowa <thibaudsowa@users.noreply.github.com>
Date: Mon, 1 Apr 2019 16:16:45 +0200
Subject: [PATCH 1/2] Support OAuth without 'expires_in' data

If OAuth server doesn't provide time of token expiration with the attribute 'expires_in' a NPE append.
With this change the time of expiration is never set (because we don't know it) so for each request we ask again a new token.

Closes #2561
---
 .../src/main/resources/Java/libraries/feign/auth/OAuth.mustache | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache
index 0ed92dbcae9..c0344c1113f 100644
--- a/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache
+++ b/modules/openapi-generator/src/main/resources/Java/libraries/feign/auth/OAuth.mustache
@@ -120,7 +120,7 @@ public class OAuth implements RequestInterceptor {
 
     public synchronized void setAccessToken(String accessToken, Long expiresIn) {
         this.accessToken = accessToken;
-        this.expirationTimeMillis = System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
+        this.expirationTimeMillis = expiresIn == null ? null : System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
     }
 
     public TokenRequestBuilder getTokenRequestBuilder() {
-- 
GitLab


From 491175d07ca48bd6e609a7343b37e902e7e66ad6 Mon Sep 17 00:00:00 2001
From: Thibaud Sowa <thibaudsowa@gmail.com>
Date: Tue, 2 Apr 2019 09:36:48 +0200
Subject: [PATCH 2/2] update Petstore sample due to feign OAuth fix

---
 .../feign/src/main/java/org/openapitools/client/auth/OAuth.java | 2 +-
 .../src/main/java/org/openapitools/client/auth/OAuth.java       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java
index 25593a0784a..7a2a822415d 100644
--- a/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java
+++ b/samples/client/petstore/java/feign/src/main/java/org/openapitools/client/auth/OAuth.java
@@ -112,7 +112,7 @@ public class OAuth implements RequestInterceptor {
 
     public synchronized void setAccessToken(String accessToken, Long expiresIn) {
         this.accessToken = accessToken;
-        this.expirationTimeMillis = System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
+        this.expirationTimeMillis = expiresIn == null ? null : System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
     }
 
     public TokenRequestBuilder getTokenRequestBuilder() {
diff --git a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java
index 75c86a7d61b..2aacac3bc84 100644
--- a/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java
+++ b/samples/client/petstore/java/feign10x/src/main/java/org/openapitools/client/auth/OAuth.java
@@ -113,7 +113,7 @@ public class OAuth implements RequestInterceptor {
 
     public synchronized void setAccessToken(String accessToken, Long expiresIn) {
         this.accessToken = accessToken;
-        this.expirationTimeMillis = System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
+        this.expirationTimeMillis = expiresIn == null ? null : System.currentTimeMillis() + expiresIn * MILLIS_PER_SECOND;
     }
 
     public TokenRequestBuilder getTokenRequestBuilder() {
-- 
GitLab