001 002package io.vrap.rmf.base.client; 003 004import java.time.ZonedDateTime; 005import java.util.Optional; 006 007import com.fasterxml.jackson.annotation.JsonIgnore; 008import com.fasterxml.jackson.annotation.JsonProperty; 009 010public class AuthenticationToken { 011 012 @JsonProperty("access_token") 013 private String accessToken; 014 015 @JsonProperty("token_type") 016 private String tokenType; 017 018 @JsonProperty("expires_in") 019 private Long expiresIn; 020 021 @JsonProperty("scope") 022 private String scope; 023 024 @JsonProperty("refresh_token") 025 private String refreshToken; 026 027 @JsonIgnore 028 private ZonedDateTime expiresInZonedDateTime; 029 030 public AuthenticationToken() { 031 } 032 033 public String getAccessToken() { 034 return accessToken; 035 } 036 037 public void setAccessToken(final String accessToken) { 038 this.accessToken = accessToken; 039 } 040 041 public String getTokenType() { 042 return tokenType; 043 } 044 045 public void setTokenType(final String tokenType) { 046 this.tokenType = tokenType; 047 } 048 049 public Long getExpiresIn() { 050 return expiresIn; 051 } 052 053 public void setExpiresIn(final Long expiresIn) { 054 this.expiresInZonedDateTime = Optional.ofNullable(expiresIn) 055 .map(seconds -> ZonedDateTime.now().plusSeconds(seconds).minusMinutes(5)) 056 .orElse(null); 057 this.expiresIn = expiresIn; 058 } 059 060 public String getScope() { 061 return scope; 062 } 063 064 public void setScope(final String scope) { 065 this.scope = scope; 066 } 067 068 @Deprecated 069 public String getRefresherToken() { 070 return refreshToken; 071 } 072 073 @Deprecated 074 public void setRefresherToken(final String refreshToken) { 075 this.refreshToken = refreshToken; 076 } 077 078 public String getRefreshToken() { 079 return refreshToken; 080 } 081 082 public void setRefreshToken(final String refreshToken) { 083 this.refreshToken = refreshToken; 084 } 085 086 public ZonedDateTime getExpiresInZonedDateTime() { 087 return expiresInZonedDateTime; 088 } 089 090 public boolean isExpired() { 091 return expiresInZonedDateTime != null && expiresInZonedDateTime.isBefore(ZonedDateTime.now()); 092 } 093}