You can also do the same by registering a custom CXF out interceptor and
update Message.PROTOCOL_HEADERS property on the current message
So that will work for JAX-WS, there could be a simpler option may be...
Cheers, Sergey
On 06/10/11 15:17, Bernardo Corrêa wrote:
Yeah, that'll work with JAXRS, but I'm actually using JAXWS. I'll give it a
try, Change to JAXRS and try to do it.
Thanks a lot!
Bernardo.
On Thu, Oct 6, 2011 at 10:57 AM, Osvaldo Pina<[email protected]>wrote:
Hi,
You can do that:
// Create a proxy to a access a jaxrs server
BookStore proxy = JAXRSClientFactory.create("http://books",
BookStore.class);
// add a cookie to a call
WebClient.client(proxy).cookie(getLtpaToken());
Ats,
Osvaldo Pina.
2011/10/6 Bernardo Corrêa<[email protected]>
Thanks Osvaldo.
I think that'll do, but where should I use it in order to CXF send the
lpta2token or lptatoken in Websphere 6.1 in the client call?
Thanks again.
On Thu, Oct 6, 2011 at 10:30 AM, Osvaldo Pina<[email protected]
wrote:
Hi,
I'm using websphere 7 and I´m using the following code to generate a
LtpaToken2 inside the container:
private String getSecurityToken() {
byte[] token = null;
try {
// Get current security subject
Subject securitySubject = WSSubject.getRunAsSubject();
if (securitySubject != null) {
// Get all security credentials from the security
subject
Set<WSCredential> securityCredentials =
securitySubject.getPublicCredentials(WSCredential.class);
// Get the first credential
WSCredential securityCredential =
securityCredentials.iterator().next();
String user = securityCredential.getSecurityName();
if (user.equalsIgnoreCase("UNAUTHENTICATED")) {
return null;
}
token = securityCredential.getCredentialToken();
if (token == null) {
return null;
}
return Base64.encodeBytes(token);
}
} catch (Exception e) {
//TODO Logar erro adequadamente;
e.printStackTrace();
}
return null;
}
and then I send a ltpaToken2 in the client call by adding a cookie:
client.cookie(new Cookie("LtpaToken2", ltpaToken));
I'm do't know to much about websphere administration configuration, so
I
don´t know if it will work on your environment.
Ats,
Osvaldo Pina.
2011/10/6 Bernardo Corrêa<[email protected]>
Hi, I'm facing a problem and could not find a way to solve it, so I'm
gonna
try to get help from you guys.
I have 2 apps deployed on Webpshere Server (same server, same cell)
with
app
security enabled (JAAS / LPTA), one that exposes a webservice and
one
that
will get the data from it.
The problem is I can't get CXF to use the LPTA token from the
cointeiner
when creating the http call to the endpoint. Does anyone know how I
could
solve this?
Just to remember, is the same server and I'm using a Federated
repository
to
manage users and groups, it's not even a problem of authentication
between
two server.
I get HTTP 401.
Thanks in advance