How to validate a raw password against crowd encrypted ones?

Emmanuel Koch October 7, 2014

Hello, I have integrated my own web apps with crowd. What I would like to have is an authentication fallback in case crowd is down. I plan to have a script to copy/sync the user password from the crowd database to my own application database. Once this is done, how can I validate a user password (send by my webapp) against the crowd encrypted one? Do you have any piece of code I could reuse?

1 answer

1 accepted

1 vote
Answer accepted
Caspar Krieger
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 7, 2014

We publish crowd-password-encoders as a reusable module for apps outside Crowd. You should just be able to depend on that (and a few other necessary libraries which that module assumes are provided) and use the password encoder classes directly.

I've put together a sample application which shows how to encode and validate passwords from outside Crowd: https://bitbucket.org/caspar-atlassian/crowd-password-encoder-sample-app (if anyone finds any problems with it, please raise them as BitBucket issues).

Emmanuel Koch October 7, 2014

Very nice, it works easily! The PasswordEncoder interface is very close to the Spring one. Is there Spring Implementation in the spring integration module that directly implements the Spring PasswordEncoder interface?

Caspar Krieger
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
October 7, 2014

I vaguely recall possibly delegating to impls of Spring's PasswordEncoder interface in at least some cases? (check that rather than taking my word for it - you can download the Crowd source yourself from my.atlassian.com if you have a license.) Looking at the Spring PasswordEncoder docs, it is crazy similar, but we don't have direct implementations of the Spring PasswordEncoder interface that I know of: you'll have to do the tedious but trivial work of wrapping our impls yourself.

Mads Tandrup September 23, 2019

Hi Caspar

 

Where can I obtain the encoders? Seems like they are no longer available from maven?

 

Best regards,

Mads Tandrup

Scion March 6, 2020

Latest builds of the encoder can be found here: https://mvnrepository.com/artifact/com.atlassian.crowd/crowd-password-encoders

I had to update the .pom file with the repository reference:
<repositories>
    <repository>
        <id>plugins-release</id>
        <name>repo.spring.io</name>
        <url>https://repo.spring.io/plugins-release</url>
    </repository>
</repositories>

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events