-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The keystone-rxt plugin will now allow a user to auth with passwords, apikeys, and leverage multi-factor auth following the multifactor authentication standards implemented by Rackspace Identity. These improvements make it possible for all users of Rackspace Identity to leverage an OpenStack environment with their existing credentials, in the way that best suits their requirements. On top of the interaction features this change also adds caching, which will ensure we're able to efficiently interact with Rackspace Identity without creating an authentication storm. The plugin will now pull the service catalog from Rackspace Identity when needed and then inspect the expires time, should the cached catalog expire, a new one will be pulled. The same is true for the sessionID used when dealing with multi-factor auth. Because Rackspace MFA requires two requests, caching the session will allow us to shortcut the number of repeat calls being made should a user run many commands in short order. The caching implementation is fairly basic, but extends our current capabilities and ensures good user experiences. Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
- Loading branch information
Showing
6 changed files
with
361 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
{ | ||
"auth": { | ||
"identity": { | ||
"methods": [ | ||
"password", | ||
"totp" | ||
], | ||
"password": { | ||
"user": { | ||
"name": "RACKSPACE_USERNAME", | ||
"password": "RACKSPACE_CREDENTIALS", | ||
"domain": { | ||
"name": "rackspace_cloud_domain" | ||
} | ||
} | ||
}, | ||
"totp": { | ||
"user": { | ||
"name": "RACKSPACE_USERNAME", | ||
"passcode": "RACKSPACE_TOTP_CODE", | ||
"domain": { | ||
"name": "rackspace_cloud_domain" | ||
} | ||
} | ||
} | ||
}, | ||
"scope": { | ||
"project": { | ||
"name": "rackspace_cloud_project", | ||
"domain": { | ||
"name": "rackspace_cloud_domain" | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
{ | ||
"auth": { | ||
"identity": { | ||
"methods": [ | ||
"password", | ||
"totp" | ||
], | ||
"password": { | ||
"user": { | ||
"name": "RACKSPACE_USERNAME", | ||
"password": "RACKSPACE_CREDENTIALS", | ||
"domain": { | ||
"name": "rackspace_cloud_domain" | ||
} | ||
} | ||
}, | ||
"totp": { | ||
"user": { | ||
"name": "RACKSPACE_USERNAME", | ||
"passcode": "RACKSPACE_TOTP_CODE", | ||
"domain": { | ||
"name": "rackspace_cloud_domain" | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.