简单粗暴直接上方法
1.需要导入的maven包:
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.12.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>1.13.0</version>
</dependency>
2.javaMain方法:
import okhttp3.Credentials;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.net.URL;
public class Main {
public static void main(String[] args){
new Main().authorize("","","");
}
private String authorize(String endPoint, String userName, String password) {
OkHttpClient client = new OkHttpClient();
try {
OkHttpClient.Builder builder = client.newBuilder();
builder.interceptors().remove(this);
OkHttpClient clone = builder.build();
String credential = Credentials.basic(userName, password);
URL url = new URL(endPoint + "oauth/authorize?client_id=openshift-challenging-client&response_type=token");
Response response = clone.newCall(new Request.Builder().get().url(url).header("Authorization", credential).build()).execute();
response.body().close();
response = response.priorResponse() != null ? response.priorResponse() : response;
response = response.networkResponse() != null ? response.networkResponse() : response;
String token = response.header("Location");
if (token == null || token.isEmpty()) {
}
token = token.substring(token.indexOf("access_token=") + "access_token=".length());
token = token.substring(0, token.indexOf("&expires"));
System.out.print(token);
return token;
} catch (Exception e) {
//throw KubernetesClientException.launderThrowable(e);
return "";
}
}
}
在main函数的参数内填上自己的用户名密码和openshift根地址。
肯定能获取到token,欢迎留言探讨。
curl方式获取比较简单,自己百度一些就可以了。