WP OAuth Server

説明

This plugin is a full OAuth 2.0 authorization server/provider for WordPress.
The goal of WP OAuth Server is to provide an easy to use authorization method that 3rd party platforms can use to securely authorize users from your WordPress site.

機能について

  • Unlimited Clients
  • Support for Implicit Flow
  • Built-In Resource Server
  • Automated Authorization
  • Extendable

Supported Grant Types

  • Authentication Code
  • User Credentials (Pro Only)
  • Client Credentials (Pro Only)
  • Refresh Token (Pro Only)
  • OpenID Connect with discovery (Pro Only)

使い方

Visit https://wp-oauth.com/support/documentation/ for detailed documentation on installing, configuring and using
WordPress OAuth Server.

Licensing

WP OAuth Server is free to used. Please support the project by licensing. You can view more information at
https://wp-oauth.com.

最小限必須条件

  • PHP 5.6.4 or greater (latest version recommended)
  • OpenSSL installed and enabled if you plan on using OpenID Connect

Other Information

  • NOTE: As of 3.0.0, there are no backward compatibility for any version older than 3.0.0
  • NOTE: Due to IIS’s inability play nice, WP OAuth Server may work but is very limited for Windows OS.

支援

Support requests should be made by opening a support request at https://wp-oauth.com/support/submit-ticket/.

インストール

  1. Upload oauth-provider to the /wp-content/plugins/ directory or use the built in plugin install by WordPress
  2. WordPress の「プラグイン」メニューからプラグインを有効化してください
  3. Click ‘Settings’ and then ‘permalinks’. Then simply click ‘Save Changes’ to flush the rewrite rules so that OAuth2 Provider
  4. Your Ready to Rock

FAQ

Installation Instructions
  1. Upload oauth-provider to the /wp-content/plugins/ directory or use the built in plugin install by WordPress
  2. WordPress の「プラグイン」メニューからプラグインを有効化してください
  3. Click ‘Settings’ and then ‘permalinks’. Then simply click ‘Save Changes’ to flush the rewrite rules so that OAuth2 Provider
  4. Your Ready to Rock
Do I need OAuth2 or App Passwords?

This depends. If you project requires random users access an application, then OAuth2 is the route you need. If you are making
a server that handles a one time client id and secert for authorization, then Application Passwords is for you.

How do I add a APP/Client?

Click on Settings->OAuth Server. Click on the Clients tab and then Add New Client. Enter the client information and your are done.

Does WordPress OAuth Server Support SSO (Single Sign On)

Yes, WordPress OAuth Server does support Single Sign On for both Traditional OAuth2 Flow and OpenID Connect.

Is there support for this plugin? Can you help me?

You can visit our https://wp-oauth.com/support/submit-ticket/ to open up a support request directly with developers.

Can you set this up for me on my current website?
  • DRINKS COFFEE * Can I? “YES”. You are more than welcome to contact us with if you should ever need assistance.
How do I use WordPress OAuth Server?

You can visit https://wp-oauth.com/support/documentation/. You will find in-depth documentation as well as examples of how to get started.

評価

OAuth solution

Ability to lock down the WP API and build authenticated WP API services is important for my business right now. After much research on this topic in the last year I’m happy with the choice I made. At the time of this writing, it seems as though several frequently referenced OAuth plugins related to the WP API have been abandoned, and/or well out of date.

One criticism I make is the online documentation is a bit out of date, and skips over steps. Another: the ToS (if you read it before filling the checkbox) says — in a nutshell — you agree that you need to know how OAuth works ahead of time, and this support team is not going to handhold you through OAuth basics. Honestly I think this is fine — because I do know the basics. But it was a little off-putting and felt confrontational as a step leading up to a purchase. Getting back to the documentation, we could do with a few more examples. I’d recommend at least one example for each of the supported auth schemes. As well as updated instructions for Postman. For example, the Using Postman article currently online references a button that doesn’t exist anymore in newer versions of Postman. I knew what they meant, but someone else might not. So call me crazy, but perhaps if the documentation were up to date they wouldn’t need the hand-holding clause in the support ToS.

Overall though I’m giving this a top rating, it fills a huge gap in core and does it very well.

(This review is based on my experience with the pro version of this plugin, for which I purchased a developer license.)

Makes adding OAuth2 to WP site a breeze.

We have used this plugin off and on for some time and the plugin has always worked fine. Noticed some warnings and errors in logs long ago, but nothing that directly affected how we used the plugin and all of those warnings have been fixed with later releases.

If we had to give criticism, our only constructive criticism would be that some of the documentation appears to be outdated (but only in how the plugin works with third party tools). That criticism is only indirectly related to the plugin.

Just know that when we need to expand our OAuth2 capabilities further, the pro version is already on the top of the list for purchasing.

Thanks for your work and a great plugin @justingreerbbi!

Doesn’t Work At All

This plugin is completely non-functional. Spent hours trying everything and looking for solutions. It just doesn’t work.

Instant support

You get support straight on their personal website via live chat. Probably feature that any wordpress plugin provider should have in order to effectively and instantly fix problems on it. And its monopolistic plugin, there is no other plugin which would provide this function. It surely helps you have your own api and integrate it into applications. Well 199 USD is a lot to be able to integrate your api securely into your mobile or desktop app. But if it buys off then its probably worth it.

24件のレビューをすべて表示

貢献者と開発者

WP OAuth Server はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“WP OAuth Server” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

3.6.0

  • UPDATED: OAuth2 namespace changed to WPOauth2 for better compatibility
  • FIXED: Bug in API authorization block functionality
  • FIXED: Default scope of basic was not being imitated correctly
  • UPDATED: Formatting updates

3.5.9

  • Fixed possible conflict with CSS in admin that prevented buttons from working or displaying
  • Content updates

3.5.8

  • NEW: Hourly cleanup of expired access tokens and auth codes.

3.5.7

  • TESTED: With new security release

3.4.6

  • UPDATE: Code for 7.2 stricter standards.
  • UPDATE: Updated admin UI for better experience in settings.
  • FIX: Admin Notice Fix for settings.
  • NEW: Added feature to disable entire REST API from non authenticated users.
  • NEW: Live chat support added to backend of plugin.

3.4.5

  • UPDATE: Database are not set to 191 char limits for unique to provide better backward compatibility.
  • FIX: Bug fix in refresh token expire time.

3.4.4

  • NEW: Added filter wo_get_access_token_expires_return to the getAccessToken storage method.
  • UPDATE: Client type public setting has been updated.
  • UPDATE: Destroy endpoint. Now does not require two separate methods for different outcomes.

3.4.3

  • ENHANCEMENT: UX while editing clients
  • UPDATE: Base code updates
  • UPDATE: /oauth/destroy/ endpoint was modified to handle OpenID Session Management
  • UPDATED: /oauth/me/ to return proper OpenID required fields when scope “openid” was used to authorize the access access token
  • NEW: Added “wpo_well_known_openid_configuration” filter for OpenID Connect .well-known configuration
  • FIXED: Consent Prompt redirect issues.
  • UPDATED: Private & Public Key handling on activation.
  • NEW: Added single function for Server certificates locations.

3.4.2

  • FIX: License error using older PHP version
  • FIX: Clash with thickbox in admin area

3.4.1

  • NEW: Added prompt parameter support for “login”, “consent”, and “none”
  • NEW: Added User consent window for Authorization code flow.
  • NEW: Added filter “wo_use_grant_request” to enable user consent dialog. Boolean.

3.4.0

  • NEW: Basic support for Token Introspection. RFC 7662 ( https://tools.ietf.org/html/rfc7662 )
  • ENHANCEMENT: Start of framework for add ons.
  • FIX: Bug in a token being delivered even with invalid client credentials.
  • FIX: Proper return from resource server during invalid request.

3.3.81 – MAY 1ST, 2017

  • ENHANCEMENT: current_time( ‘timestamp’ ) used in favor of time(). This allows for time to follow WP setting
  • ENHANCEMENT: Native tabs in admin.
  • ENHANCEMENT: “wo_updater” filter added to allow plugin updater control.
  • FIX: Bug in redirect URI during authentication code flow. Now uses home_url()
  • FIX: Bug that allowed for client ID’s to be search able.

3.3.8

  • Added public function “wo_public_insert_client” for adding clients.
  • Deprecated “wo_get_access_token” in favor of “wo_public_get_access_token”
  • apply_filters( ‘wo_unset_refresh_token_after_use’, false )
  • Minor tweak to the status license box
  • Bug Fix: Invalid JSON return for “me” endpoint

3.3.7

  • Performance improvement for front-end.
  • Modified the default values for plugin.
  • Fixed array_merge in the settings that caused warnings in some cases.
  • Added wo_me_resource_return filter to default “me” resource.
  • Removed debug information for access tokens.
  • Updated “n” return encoding for public keys.

3.3.5

  • Added user assigning functionality to client options.
  • Removed memory scope storage form API.
  • Added restricted scopes to individual clients.
  • Default scopes are now functional.

3.3.4

  • Update update class to latest version

3.3.3

  • Fixed error with write context return
  • Fixed implicit issue for clients

3.3.2

  • Fixed undefined index for invalid client.
  • Fixed redirect_uri issue with getClientDetails(). Threw missing redirect uri error.
  • Fixed Bearer token authorization for self resource server calls.

3.3.1

  • Patched clients showing up in admin menu.

3.3.0

  • Refactored style names.
  • Updater class was updated to version 1.6.7
  • Optimized DB structure.
  • wo_create_client now returns insert id instead boolean. This may break compatibility to some add-ons.
  • Changed menu order and naming.
  • Broke out client management for ease of use and future development.
  • Simple Spanish Translation started.
  • Extra security has not been added to by restricting/binding individual clients to a set grant types.
  • Client querying now uses WP_Query. This provides faster response times for the API.

3.2.87

  • Added filters: wo_allow_credentials_in_request_body, wo_allow_public_clients, wo_always_issue_new_refresh_token, wo_redirect_status_code, wo_create_from_globals_json, wo_create_from_globals_urlencoded, wo_strict_api_lockdown
  • Renamed “User Credentials” to Password Credentials for uniformity of code and GUI.
  • Updated the readme.
  • Added server secure status check.
  • API security halt now uses 403 forbidden header.
  • Strict API can now be enabled and disabled.
  • Increased _wo_authenicate_bypass filter to 9999 to prevent plugin conflicts.
  • Tested with 4.7-beta4-39322.

3.2.86

  • Changed instances from site_url to home_url for registered routes.
  • Changed openID Connect variables to use home_url instead of site_url

3.2.85

  • Added ‘wo_login_check’ filter
  • Minor UI changes
  • Tested with 4.7-alpha

3.2.84

  • Removed deprecated mysql_string function in favor for esc_sql
  • Tested with 4.6-RC1-38175

3.2.83

  • Added oauth2 to WP JSON index.
  • Tested with WP 4.6-beta3-38065.
  • Cleaned up old code.

3.2.82

  • Fixed bug in development system.
  • Remove exit code that was causing authorization code to fail silently.
  • Tested with WP 4.6-beta2-38008.
  • Random code improvements.
  • Changed certificate language when there is an error with any of the certificates.

3.2.81

  • Updated broken links in the readme.
  • Fixed issue with redirect_uri bug.
  • Fixed do_action(‘wo_authorization_code_authorize’, $user_id ); issue after authorization code authorization
  • Updated user claims to be included in id_token token and token id_token implicit responses.
  • Minor standard updates to code base.

3.2.8

  • Fixed user Claims with OpenID and ID Token calls.
  • Added wo_get_access_token function for public use.

3.2.7

  • Added wo_authorization_code_authorize action. Passed user_id as a single parameter.
  • Added wo_restrict_single_access_token filter. Returns true or false / Defaults to false.
  • Added wo_auth_code_lifetime filter. Defaults to 30.
  • Fixed possible XSS issue with client description.

3.2.6

  • Fixed updater error

3.2.5

  • Fixed bug in security checks that caused displaying of error.
  • Client secrets can not be regenerated.

3.2.4

  • Added ssl_verify parameter to wp_remote_get() during license check.
  • Security fix that could allow for someone to call wo_create_client and hook action before being validated first.
  • Server now return 503 header when server is unavailable.
  • Security fix that allowed Ajax calls to be called by any logged in user.

3.2.3

  • Updated license calls
  • Added more information on the server page

3.2.2

  • Added error catches to license activation functionality
  • Expanded clean check to API to prevent exploits gaining access to user information through the OAuth2 Sever API.
  • Fix bug/oversight in key lengths that could be stored in tables over 40 chars. Updated script added for backward fixes as well.

3.2.0

  • Introduced new wo_setting function to return formatted options
  • Merged firewall and brute protect into one plugin.
  • Updated license functionality
  • Corrected token length and added support for 2000 Char keys.

3.1.97

  • Added temp fix to paging issue with clients.

3.1.96

  • Restructuring and clean up.
  • Refresh token controller now accepts parameters properly.
  • Rewrote rewrite functionality to fix issues regarding rewrites on ever load.

3.1.95

  • Removed ALTER query. There is no need and someone updating from older version will experience issues anyways. Step by step upgrading is required.
  • Fixed issues when updating and options key is missing. This caused header errors that have full error reporting on.

3.1.94

  • Updated generateAuthorizationCode() to use wp_generate_password()
  • Fixed bug with expires_in not retuning as integer

3.1.93

  • Updated OAuth2 Library and re-ported to WP.
  • Updated AuthorizationCode handler to manage id_token delivery.
  • Fixed invalid id_token issue.

3.1.92

  • Moved located of do_action(‘wo_before_authorize_method’); add added $_REQUEST parameter.
  • Rearranged OAuth Server menu for flexibility
  • Added $_REQUEST parameter to wo_before_api action
  • Add wo_failed_login action when login fails for OAuth2\Stoarge::checkPassword during user credentials grant type
  • Added wo_user_not_found action when user is not found when using user credentials

3.1.91

  • Added action wo_endpoint_user_authenticated which runs before resource method but after access token authentication.

3.1.9

  • Changed default refresh token lifetime to 10 days
  • Permalinks now check before re-writing
  • Minor code refactoring
  • Added action wo_set_access_token that runs before creating an access token

3.1.8

  • Optimized activate hooks for better performance and consolidation of code.
  • Started minimization of the code to unneeded overhead,
  • Added removal of access tokens when a user resets password.
  • Fixed issue with refresh tokens not being returned when using refresh_token grant type
  • Added functionality to allow for public endpoints.

3.1.7

  • Added MySQL check during install
  • Fixed 404 bug for unset permalinks
  • Minor security improvements

3.1.6

  • Fixed 404 errors when adding/editing clients

3.1.5

  • Addressed security issues on older PHP versions as well as Windows OS.
  • Added checks to help ensure that the environment is supported before WP OAuth Server can be ran.
  • Add filter ‘wo_scopes’ to allow for extendability.

3.1.4

  • Fixed bug in refresh token that prevented use of refresh tokens

3.1.3

  • Forced all expires_in parameter in JSON to be an integer
  • Add determine_current_user hook for WP core authentication functionality
  • Added authentication support for WP REST API

3.1.2

  • Patch to possible exploit when editing a client.
  • Slight UI changes.
  • Patched auth code table for large id_tokens.
  • Fixed security issue with token lifetime.

3.1.1

  • Client name is not click able to show edit popup
  • Fixed issue with missing exits in API

3.1.0

  • Added specific OpenSSL bit length for systems that are not create keys at 2048 by default.
  • Added urlSafeBase64 encoding to Modulus and Exponent on delivery.
  • Tweak redirect location in API when a user is not logged in

3.0.9

  • Added userinfo endpoint to /.well-known/openid-configuration
  • Fixed improper return of keys when for public facing /.well-known
  • Auto generation of new certificates during activation to ensure all server have a different signature

3.0.8

  • Switched JWT Signing to uses RS256 instead of HS256.
  • Added OpenID Discovery with REQUIRED fields and values.
  • “sub” now complies with OpenID specs for format type.
  • Added JWT return for public key when using OpenID Discovery.

3.0.7

  • Bug fix in OpenID

3.0.6

  • Fixed “Undefined Error” in Authorization Controller. Credit to Frédéric. Thank You!
  • Remove “Redirect URI” Column from clients table to clean up table on smaller screens.
  • Updated banner and plugin icon.

3.0.5

  • Removed permalink check. OAuth Server now works without the use of permalinks.
  • Fixed install functionality. Not all tables were being installed.
  • Added support for cytpto tokens.
  • Added OpenID Connect abilities.
  • Mapped OpenID Claims to default user values
  • Added index to token table and increased access_token length to support crypto tokens in the future.
  • Added “email” to default me resource to support OpenID Connect 1.0
  • Added generic key signing for all clients.
  • Added public endpoint for verifying id_token (/oauth/public_key)

3.0.4

  • Updated Readme.txt content
  • Add more descriptive text during PHP version check
  • Fixed license links
  • Added Access Token and Refresh Token lifetime settings
  • Added upgrade method to ensure proper installing of new features

3.0.3

  • Modified how clients are added and edited
  • Add Pro Features
  • Added additional information to “Server Status” Tab
  • Minor Clean Up

3.0.2

  • Re added Authorization Code Enable Option
  • API unavailable error now uses OAuth Response object
  • API now reports when access token is not provided during resource calls

3.0.1

  • Updated cover image.
  • Fixed documentation links.
  • Added “Server Status” tab
  • Cleaned up “Advanced Configuration” contents.

3.0.0

  • Updated and rebuilt structure.
  • Visit http://wp-oauth.com for documentation and more information.

2.0.0

  • Rebuild init plugin code structure for more flexibility and scalability.
  • Added prefix to all DB connections
  • Changed install query to use the InnoDB engine for better support and performance.
  • Fixed improper loading of plugin style sheet.
  • Removed garbage data when plugin is activated. It was not being used and cluttering the code base as well as the database.
  • Move action template_redirect to rewrites file
  • Added login form support for installs that are installed in sub directory
  • Added missing in documentation for when calling requesting_token
  • Suppressed some errors that was preventing a proper JSON return when WP_DEBUG was enabled.
  • Added a client sample script to help learn the basics of connecting to the provider plugin.
  • Add legacy installer that will hopefully keep old data in tacked while updating to the new structure with no data loss.
  • Removed plugin logging as it was not really needed and caused more issues that it was worth.

1.0.3

  • Fixed Admin URL links for plugin dashboard

1.0.2

  • Fixed Broken login redirect

1.0.1

  • Re-worked Readme.txt
  • Fixed absolute paths causing 404 Error when WordPress is running under a sub directory (Using admin_url() currently)

1.0.0

  • INITIAL BUILD