Ruby toolkit for the Okta API.
Add this line to your application's Gemfile:
gem 'oktakit'And then execute:
bundleOktakit follows similar patterns as found in Octokit. So if you are familiar with Octokit, then you should feel right at home.
client = Oktakit.new(token: 't0k3n', organization: 'my-great-org')
response, http_status = client.list_usersTo work with the Okta sandbox (<organization>.oktapreview.com), set the api_endpoint:
client = Oktakit.new(token: 't0k3n', api_endpoint: 'https://my-great-org.oktapreview.com/api/v1')Pass the paginate flag as options for any get action for Oktakit to autopaginate the response for you.
client = Oktakit.new(token: 't0k3n', organization: 'my-great-org')
response, http_status = client.list_users(paginate: true)After checking out the repo, run bin/setup to install dependencies. Then, run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install.
To release a new version, update the version number in version.rb, and merge the change to main. Then push a vX.Y.Z tag for that commit. The Release GitHub Actions workflow uses trusted publishing to push the gem to rubygems.org, and then creates a GitHub release for the tag. The release notes list the merged pull requests.
The changes in each version are in the GitHub releases.
Testing is fairly straightforward, with the exception of the org URL.
To anonymize the VCR data, first setup a real token and endpoint for Okta, such as myokta.okta.com
- In
spec_helper.rb, set the org tomy-okta(or whatever your organization is). - Set the
OKTA_TEST_TOKENenvironment variable (this should be real). Don't worry, it is automatically removed. - Before committing, change
my-oktatookta-testinspec_helper.rband any VCR Cassettes.
The API Test Client provided by Okta is also really helpful.
- Fork it ( https://github.com/shopify/oktakit/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
New contributors will be required to sign Shopify's Contributor License Agreement (CLA). There are two versions of the CLA: one for individuals and one for organizations.

