package com.perforce.workshop.tjuricek.p4oauth.services; /** * Encapsulate responses to deal with creating access tokens. * * TODO we should really send back a refresh token along with an expiration */ public class AccessTokenResult { private String accessToken = null; private String perforceToken = null; private AccessTokenError error = null; public static enum AccessTokenError { AuthCodeNotFound, IllegalParameters, AuthCodeOutOfDate, NoPerforceToken } public static AccessTokenResult error(AccessTokenError err) { AccessTokenResult result = new AccessTokenResult(); result.setError(err); return result; } public static AccessTokenResult success(String accessToken, String perforceToken) { AccessTokenResult result = new AccessTokenResult(); result.setAccessToken(accessToken); result.setPerforceToken(perforceToken); return result; } public String getAccessToken() { return accessToken; } public void setAccessToken(String accessToken) { this.accessToken = accessToken; } public String getPerforceToken() { return perforceToken; } public void setPerforceToken(String perforceToken) { this.perforceToken = perforceToken; } public AccessTokenError getError() { return error; } public void setError(AccessTokenError error) { this.error = error; } public boolean hasError() { return error != null; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; AccessTokenResult result = (AccessTokenResult) o; if (accessToken != null ? !accessToken.equals(result.accessToken) : result.accessToken != null) return false; if (error != result.error) return false; if (perforceToken != null ? !perforceToken.equals(result.perforceToken) : result.perforceToken != null) return false; return true; } @Override public int hashCode() { int result = accessToken != null ? accessToken.hashCode() : 0; result = 31 * result + (perforceToken != null ? perforceToken.hashCode() : 0); result = 31 * result + (error != null ? error.hashCode() : 0); return result; } @Override public String toString() { return "AccessTokenResult{" + "accessToken='" + accessToken + '\'' + ", perforceToken='" + perforceToken + '\'' + ", error=" + error + '}'; } }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 9180 | tjuricek |
0.1.1 Adding mechanism for fetching the p4 token given the bearer token on an Authorization header. This is probably secure since we can't use these tokens except for the restricted hosts. |
||
#1 | 9095 | tjuricek | Added some basic test data and renamed "workspace" to "workshop" in package name | ||
//guest/tjuricek/p4oauth/src/main/java/com/perforce/workspace/tjuricek/p4oauth/services/AccessTokenResult.java | |||||
#1 | 9089 | tjuricek |
Moving some code that worked via some manual validation to the workshop. This just implements a basic code authorization grant scheme. Automated tests are forthcoming, awating some gradle plugin work that should sit outside of this project. |