Java 如何在Android中测试SAML RestAPI?
我用openid connect尝试了这个,它正在工作。我想让SAML做同样的事。仅供参考,我正在用KeyClope做演示。所以,我已经在KeyClope控制台/仪表板内部将协议从openid connet更改为SAML 代码:Java 如何在Android中测试SAML RestAPI?,java,android,saml,Java,Android,Saml,我用openid connect尝试了这个,它正在工作。我想让SAML做同样的事。仅供参考,我正在用KeyClope做演示。所以,我已经在KeyClope控制台/仪表板内部将协议从openid connet更改为SAML 代码: 请引导我。请用Java而不是Kotlin回答。您不能将协议更改为SAML,然后发送OpenID连接参数 下面是一个例子。参数完全不同 您不能使用RESTAPI。SAML使用浏览器重定向 不是Keyclope专家,但您的应用程序需要。您好。谢谢你的回复,因为这很复杂,没有
请引导我。请用Java而不是Kotlin回答。您不能将协议更改为SAML,然后发送OpenID连接参数 下面是一个例子。参数完全不同 您不能使用RESTAPI。SAML使用浏览器重定向
不是Keyclope专家,但您的应用程序需要。您好。谢谢你的回复,因为这很复杂,没有人回复,至少你回复了!所以,我读了这两本书。现在问题仍然存在。我要澄清一件事:我能够从Postman(使用openid connect)创建用户,请看:|现在我想在Android中做的事情与我想做的一样,但是使用SAML协议,以及我尝试使用SAML编写的代码,这已经是个问题了。|第二,在你建议的帖子中,没有一件事与Android相关。如果我需要打开webview,这没关系,我没有问题。你可以检查这个例子,他们使用的是客户端提供商登录:但他们使用的是openid连接,而不是我想要的SAML!对于Android,您将使用js/节点库。您通过调用REST API创建用户。OpenID Connect就是为此而设计的。山姆不是。不能从SAML调用RESTAPI。首先,SAML使用XML令牌,OpenID Connect需要JWT令牌,
@Override
protected Boolean doInBackground(String... params) {
try {
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
/*For openid-connect*/
//RequestBody body = RequestBody.create(mediaType, "client_id=lifetrenz-client-1&username=test&password=test@123&grant_type=password&client_secret=c89b1eed-136d-445f-bfb0-e7e2bdac89ee");
/*For SAML*/
RequestBody body = RequestBody.create(mediaType, "client_id=lifetrenz-client-1&username=test&password=test@123&grant_type=password");
/*URL is changing manually accoridng to protocol*/
Request request = new Request.Builder()
.url("http://10.0.2.2:8080/auth/realms/Lifetrenz/protocol/saml/token")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = client.newCall(request).execute();
data = "CODE: " + response.code() + "\n" + "MESSAGE: " + response.message() + "\n" + "BODY: " + response.body().string();
return true;
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
}