Title: Does this plugin use OAuth?
Last modified: April 1, 2025

---

# Does this plugin use OAuth?

 *  Resolved [maltfield](https://wordpress.org/support/users/maltfield/)
 * (@maltfield)
 * [1 year, 2 months ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/)
 * Does this plugin use OAuth to connect to Stripe?
 * I’m a bit concerned that this plugin might use OAuth to connect to Stripe. If
   poorly implemented, OAuth could be much less secure than using Restricted API
   Keys.
 * If you are using OAuth, then:
    1. Where are the access tokens, refresh tokens, and any other applicable tokens
       being stored?
    2. Is there any data that is stored on any server other than servers owned by me
       and servers owned by Stripe?
    3. Is there any data that is passed-through (not stored, but in-transit) any servers
       other than servers owned by me and servers owned by Stripe?
 * If use of this plugin might involve any data that is stored or passed in-transit
   through any third party servers (other than my wordpress server and Stripe’s 
   servers), then I need you to
    1. Enumerate all of this type of data
    2. Enumerate all of the third party servers

Viewing 6 replies - 1 through 6 (of 6 total)

 *  Thread Starter [maltfield](https://wordpress.org/support/users/maltfield/)
 * (@maltfield)
 * [1 year, 2 months ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18401348)
 * Does this plugin pass any of the OAuth tokens through any third party servers?
 * In addition to knowing where the tokens are *stored* by this plugin, I also need
   to know where they transit.
 * Unfortunately, I recently learned that another woocommerce payment gateway for
   Stripe [(Stripe Payment Plugin for WooCommerce](https://wordpress.org/plugins/payment-gateway-stripe-and-woocommerce-integration/)
   by [WebToffee](https://www.webtoffee.com/woocommerce-stripe-payment-gateway-plugin-user-guide/))
   uses [the plugin developer’s server (verify-stripe.webtoffee.com)](https://wordpress.org/support/topic/oauth-security-concerns/)
   to refresh the OAuth tokens, and then send the new refresh/access tokens back
   to the wordpress server.
    - [https://wordpress.org/support/topic/oauth-security-concerns/](https://wordpress.org/support/topic/oauth-security-concerns/)
 * Even though the tokens are stored *only* on my wordpress server (they are *not*
   stored on WebToffee’s servers), they are still *seen* by a third party (besides[
   1] my server and [2] Stripe). This is obviously a security risk, and I don’t 
   know how common this sort of implementation is.
 * So I need you to be clear and address not just where the tokens are stored, but
   also where the tokens *touch*.
 * Does this plugin implement OAuth by having *any* OAuth tokens transit through*
   any* server other than [a] the wordpress server where this plugin is installed
   and [b] Stripe’s servers?
 *  Plugin Support [Aamir](https://wordpress.org/support/users/aamiribsf/)
 * (@aamiribsf)
 * [1 year, 2 months ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18411801)
 * Hi [@maltfield](https://wordpress.org/support/users/maltfield/),
 * Thank you for your detailed inquiry. I understand your concerns, and I want to
   assure you that I’ll need to discuss these technical aspects with our development
   team to provide you with accurate and comprehensive answers.
 * I’ll gather all the relevant information and I’ll follow up with you as soon 
   as possible with the detailed response.
 * I appreciate your patience and understanding in the meantime.
 * Best regards,
 *  Plugin Support [Aamir](https://wordpress.org/support/users/aamiribsf/)
 * (@aamiribsf)
 * [1 year, 1 month ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18446887)
 * Hello [@maltfield](https://wordpress.org/support/users/maltfield/),
 * We have recieved a resposne form our dev team and here is the information as 
   reqested:
 * Yes, our plugin uses OAuth to connect your WordPress site to your Stripe account.
   This is part of Stripe’s recommended connection flow for third-party integrations
   and is designed to be secure and standardized.
    - Where are the access tokens, refresh tokens, and any other applicable tokens
      being stored?
      => The OAuth access tokens and refresh tokens are stored securely
      in your WordPress database on your server. They are not stored or transmitted
      to any external third-party server other than Stripe.
    - Is there any data that is stored on any server other than servers owned by
      me and servers owned by Stripe?
      => No sensitive data is stored on any servers
      except only the tokens. Also These tokens a non-sensitive data but even those
      are stored as per the Strip’s guidelines.
    - Is there any data that is passed through (not stored, but in transit) any 
      servers other than servers owned by me and servers owned by Stripe?
      => The
      data in transit such as OAuth tokens, API requests/responses, payment info
      only flows between Your server and Stripe’s servers.No third-party servers
      other than Stripe and your server are involved in storing or relaying data.
 * Best Regards,
 *  Thread Starter [maltfield](https://wordpress.org/support/users/maltfield/)
 * (@maltfield)
 * [1 year, 1 month ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18449134)
 * > They are not stored or transmitted to any external third-party server other
   than Stripe.
 * Oof, that’s not correct.
 * I contacted Stripe Support and they assured me that the OAuth Access Tokens *
   are* shared with a third party: your servers.
 * With Restricted API Keys, the credentials needed to access our merchant account
   are only known to two parties:
 * 1. My server
    2. Stripe’s servers
 * When you use Stripe Connect, the OAuth bearer tokens are additionally shared 
   with a third party, defined as the `redirect_uri`. And because the `redirect_uri`
   is static, it’s a domain of the developer’s. That’s the third party.
 * > The data in transit such as OAuth tokens, API requests/responses, payment info
   only flows between Your server and Stripe’s servers.
 * False. According to Stripe Customer Support and their documentation, your server(
   specified by `redirect_uri`) is first given the OAuth Access Token before it’s
   relayed to our server.
 * If you don’t store it, that helps. But the fact that you see it at all is already
   a huge security risk for your users.
 * Can you please submit a feature request to include the ability for users to use
   Restricted API Keys? This would fix the security issue of having to share OAuth
   Access Tokens to a third party server.
 *  Plugin Support [Aamir](https://wordpress.org/support/users/aamiribsf/)
 * (@aamiribsf)
 * [1 year ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18467410)
 * Hello [@maltfield](https://wordpress.org/support/users/maltfield/),
   Thank you
   again for your thoughtful and well-informed follow-up – and you’re absolutely
   right in your understanding.To clarify: yes, our Stripe for WooCommerce plugin
   uses Stripe Connect, which requires a static redirect_uri. In our case, this 
   points to a secure middleware endpoint hosted by us (Checkout Plugins), as mandated
   by Stripe’s OAuth implementation.Here’s how the flow works:When you click Connect
   with Stripe, the request is sent from your site to our secure middleware.Our 
   middleware forwards the request to Stripe’s OAuth endpoint.Once Stripe processes
   the authentication, the OAuth access token is returned to our middleware (as 
   required by the redirect_uri).The middleware then immediately and securely passes
   the token to your WordPress site, where it is encrypted and stored in your database.
   We do not log, store, or persist the access token or any sensitive data on our
   servers at any point — our middleware simply acts as a relay to meet Stripe’s
   requirement for a static callback domain.That said, your concern is completely
   valid: even if the token is never stored, the fact that it flows through a third-
   party server (ours) does represent a level of access that isn’t present with 
   Restricted API Keys.Currently, Stripe Connect does not support an alternative
   onboarding flow that uses Restricted API Keys for third-party integrations like
   ours. However, we agree this would be a more secure option, and we encourage 
   you to share this feedback directly with Stripe Support as well. The more merchants
   that request support for such a flow, the more likely it is that Stripe will 
   prioritize offering it.We truly appreciate your detailed input on this – it helps
   push the ecosystem toward better security and transparency.
 *  Thread Starter [maltfield](https://wordpress.org/support/users/maltfield/)
 * (@maltfield)
 * [12 months ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18511930)
 * Hi,
 * Can you please state what OAuth Flow you use for Stripe Connect with this application?
 * After much research and back-and-forth with Stripe Support, they said admitted
   that some OAuth flows expose the OAuth bearer tokens with a third party (which
   is a security risk) and some other OAuth flows do not.
 * They said that merchants cannot control which OAuth flow is used, and it depends
   on what was implemented by the developer. Stripe support asked me to ask the 
   developer which OAuth flow they use in their implementation of Stripe Connect.
 * Can you please tell us which specific OAuth flow you use for Stripe Connect in
   this application?
 * Thank you

Viewing 6 replies - 1 through 6 (of 6 total)

The topic ‘Does this plugin use OAuth?’ is closed to new replies.

 * ![](https://s.w.org/plugins/geopattern-icon/checkout-plugins-stripe-woo_8080e9.
   svg)
 * [Stripe Payments For WooCommerce by Checkout Plugins](https://wordpress.org/plugins/checkout-plugins-stripe-woo/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/checkout-plugins-stripe-woo/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/checkout-plugins-stripe-woo/)
 * [Active Topics](https://wordpress.org/support/plugin/checkout-plugins-stripe-woo/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/checkout-plugins-stripe-woo/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/checkout-plugins-stripe-woo/reviews/)

## Tags

 * [api](https://wordpress.org/support/topic-tag/api/)
 * [Data Privacy](https://wordpress.org/support/topic-tag/data-privacy/)
 * [OAuth](https://wordpress.org/support/topic-tag/oauth/)
 * [risk](https://wordpress.org/support/topic-tag/risk/)

 * 6 replies
 * 2 participants
 * Last reply from: [maltfield](https://wordpress.org/support/users/maltfield/)
 * Last activity: [12 months ago](https://wordpress.org/support/topic/does-this-plugin-use-oauth/#post-18511930)
 * Status: resolved