Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Adding a user with CAC credentials using the REST API

robert_egan_305 September 21, 2020

All of the examples I've been able find on the internet involve Crowd user accounts with a PASSWORD. I want to add users with CAC Credentials.

2 answers

1 accepted

1 vote
Answer accepted
Craig Castle-Mead
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.
October 26, 2020

Hi,

I believe that your only option is a password. Can you confirm what you mean by CAC credentials though?

CCM

Lonnie March 30, 2022

Common Access Card, the DoD's PIV card variant. A badge card which stores X.509 SSL certificates and some profile properties. PIV cards, including CACs, are supported by the leading Operating Systems and Web Browsers. When a server and a client enter into an SSL handshake such that the client as well as the server must provide SSL certificates, the browser or a card-capable application will ask the user to insert the CAC (or the PIV), to enter a PIN, and to choose one of several X.509 certs to send into the SSL handshake protocol. The server can use the client's cert to retrieve profile fields that can be handed to an Identity Provider (such as MS AD, Ping Federate, etc) to retrieve any known identity for that client cert. With the SSL session established, the server knows that the client has the right pass phrase (their PIN) and the secondary factor (the card with the crypto certs) and the IdP verifies that the cert indicates a particular user - so the app-server can grant authentication to the incoming request.

To support CAC access over the API calls, it is the Jira server that needs to come to demand Mutual TLS for incoming API requests and to pair with an IdP to look up users from the arriving certs (versus looking for either Basic Auth or Bearer Auth HTTP Headers)

It's not something that a client of the API can implement on its own.

0 votes
robert_egan_305 October 26, 2020

You are correct, the only option is a password. However, since I have posted this, I learned that my organization already has a process in place to handle it. Users are created with a psuedo random password, and then the CAC credentials are added via SQL as a second step.

Company policy prevents me from posting the exact code here, but I think I can safely say that we add a new entry in cwd_user_attribute with attribute_name = 'commonName' and attribute_lower_value = CAC credentials.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events