How do I get the Confluence Remote API (XML-RPC) to work over SSO?

Vikas Chauhan
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 2, 2011

I am trying to use the XML-RPC api in order to manipulate some pages on the remote Confluence server. The problem is that the server uses a custom Single Sign On solution. As the remote API uses the native authentication mechanism, the authentication is failing. The server has a custom SSO Authenticator in place in order to integrate with the SSO solution.

So, I guess I need to write some custom code (plugin or otherwise) in order to integrate seraph with the custom SSO authenticator, and I have no clue how to go about doing so. I couldn't find relevant documentation regarding this. I did go through this post: http://forums.atlassian.com/message.jspa?messageID=257321808 but I am not sure if this would be a plugin or some other piece of custom code, as it talks about rpcSubsystemContext.xml, which I am not familiar with.

Can someone point me in the right direction. Any help will be much appreciated.

3 answers

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Lionel Hutz
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 1, 2012

Did you ever find a solution? I have pretty much the same question:

https://answers.atlassian.com/questions/51116/confluence-sso-and-soap

0 votes
twong_atlassian
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 6, 2011
What version of Confluence are we talking about?
0 votes
Mario Wörndl June 5, 2011

Guess the best way is to use some kind of Filter, which is part of the JEE.

Filter means a request to a server pointing to a servlet is running through some valves before, which are called filters in web application specification. The special thing is you must find out, what makes a user authenticated.

Following code does for seraph the simulation:

UserAccessor userAccessor = (UserAccessor)ContainerManager.getComponent("userAccessor");
User user = userAccessor.getUser(uid);
request.getSession().setAttribute("seraph_defaultauthenticator_user", user);
request.getSession().setAttribute("seraph_defaultauthenticator_logged_out_user", null);

The specific implementation depends on what you have as context data (uid, token, remote IP,...)

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

TAGS
AUG Leaders

Atlassian Community Events