Ruby toolkit for the Okta API.
Add this line to your application's Gemfile:
gem 'oktakit'
And then execute:
bundle
Oktakit
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_users
To 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 then run bundle exec rake release
to create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
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_TOKEN
environment variable (this should be real). Don't worry, it is automatically removed. - Before committing, change
my-okta
tookta-test
inspec_helper.rb
and 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.