crowd

A client for Atlassian Crowd v2.0.5

INSTALL:

sudo gem install crowd-stefanwille

REQUIREMENTS:

USE:

See demo/crowd_demo.rb and spec/crowd_spec.rb.

Assumptions (used in demo/crowd_demo.rb and spec/crowd_spec.rb):

  • Crowd Server is on localhost, port 8095

  • Application name and password is ‘soaptest’

  • Application ‘soaptest’ directory set to ‘True’

FEATURES:

Methods exercised (implemented, not implemented):

  • addAttributeToPrincipal

  • addGroup

  • addPrincipal

  • addPrincipalToGroup

  • addPrincipalToRole

  • addRole

  • authenticateApplication

  • authenticatePrincipal

  • authenticatePrincipalSimple

  • createPrincipalToken

  • findAllGroupNames

  • findAllGroupRelationships

  • findAllPrincipalNames

  • findAllRoleNames

  • findGroupByName

  • findGroupMemberships

  • findPrincipalByName

  • findPrincipalByToken

  • findRoleByName

  • findRoleMemberships

  • getCookieInfo

  • getGrantedAuthorities

  • invalidatePrincipalToken

  • isCacheEnabled

  • isGroupMember

  • isRoleMember

  • isValidPrincipalToken

  • removeAttributeFromPrincipal

  • removeGroup

  • removePrincipal

  • removePrincipalFromGroup

  • removePrincipalFromRole

  • removeRole

  • resetPrincipalCredential

  • searchGroups

  • searchPrincipals

  • searchRoles

  • updateGroup

  • updatePrincipalAttribute

  • updatePrincipalCredential

Role related methods were left in the Ruby API but are not tested. Roles are deprecated in favor of groups in Crowd 2.0

NOTES:

WSDL stub generated with:

rake wsdl2ruby

RSpec tests run with:

rake test
(requires a Crowd server on localhost, easy to setup)

Local gem installed with:

rake install

Original SOAP API is available from Atlassian at confluence.atlassian.com/display/CROWDDEV/SOAP+API

TODO:

  • Rightsize error handling

  • Create Rails plugin

SYNOPSIS:

Ruby client for Atlassian Crowd 2.0.5

FILES:

  • README.rdoc - You’re soaking in it

  • demo/crowd_demo.rb - A demo that will get you started quickly

  • spec/crowd_spec.rb - Tests. Also the API documentation.

  • lib/crowd.rb - Class wrapping crowd calls

  • lib/crowd/soap/crowd-2.0.5.wsdl - Downloaded from Crowd

  • lib/crowd/soap/driver.rb - Generated

  • lib/crowd/soap/mapping_registry.rb - Generated

  • lib/crowd/soap/default.rb - Generated

  • lib/crowd/soap/SecurityServerClient.rb - Generated

AUTHORS:

updated by Stefan Wille <[email protected]>

updated by Olli Helenius <[email protected]>

updated by Evgeny Zislis ([email protected])

original by Jason Rimmer ([email protected]) & gemified for rubyforge by Daniel Morrison (collectiveidea.com)

LICENSE:

Public Domain

Created by Jason Rimmer, [email protected] on 2007-10-16. I hereby place this work that I have authored into the public domain and in the process abandon all copyright protection.

Updated by Evgeny Zislis, [email protected] on 2008-05-14

Updated by Olli Helenius <[email protected]> on 2009-09-09

Updated by Stefan Wille <[email protected]> on 2010-07-14