Class: Stripe::Apps::Secret

Inherits:
Stripe::APIResource show all
Extended by:
Stripe::APIOperations::Create, Stripe::APIOperations::List
Defined in:
lib/stripe/resources/apps/secret.rb

Overview

Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.

The primary resource in Secret Store is a secret. Other apps can’t view secrets created by an app. Additionally, secrets are scoped to provide further permission control.

All Dashboard users and the app backend share account scoped secrets. Use the account scope for secrets that don’t change per-user, like a third-party API key.

A user scoped secret is accessible by the app backend and one specific Dashboard user. Use the user scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions.

Related guide: [Store data between page reloads](docs.stripe.com/stripe-apps/store-auth-data-custom-objects)

Defined Under Namespace

Classes: Scope

Constant Summary collapse

OBJECT_NAME =
"apps.secret"

Constants inherited from StripeObject

StripeObject::RESERVED_FIELD_NAMES

Instance Attribute Summary collapse

Attributes inherited from Stripe::APIResource

#save_with_parent

Attributes inherited from StripeObject

#last_response

Class Method Summary collapse

Methods included from Stripe::APIOperations::Create

create

Methods included from Stripe::APIOperations::List

list

Methods inherited from Stripe::APIResource

class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource

Methods included from Stripe::APIOperations::Request

included

Methods inherited from StripeObject

#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values

Constructor Details

This class inherits a constructor from Stripe::StripeObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject

Instance Attribute Details

#createdObject (readonly)

Time at which the object was created. Measured in seconds since the Unix epoch.



39
40
41
# File 'lib/stripe/resources/apps/secret.rb', line 39

def created
  @created
end

#deletedObject (readonly)

If true, indicates that this secret has been deleted



41
42
43
# File 'lib/stripe/resources/apps/secret.rb', line 41

def deleted
  @deleted
end

#expires_atObject (readonly)

The Unix timestamp for the expiry time of the secret, after which the secret deletes.



43
44
45
# File 'lib/stripe/resources/apps/secret.rb', line 43

def expires_at
  @expires_at
end

#idObject (readonly)

Unique identifier for the object.



45
46
47
# File 'lib/stripe/resources/apps/secret.rb', line 45

def id
  @id
end

#livemodeObject (readonly)

Has the value true if the object exists in live mode or the value false if the object exists in test mode.



47
48
49
# File 'lib/stripe/resources/apps/secret.rb', line 47

def livemode
  @livemode
end

#nameObject (readonly)

A name for the secret that’s unique within the scope.



49
50
51
# File 'lib/stripe/resources/apps/secret.rb', line 49

def name
  @name
end

#objectObject (readonly)

String representing the object’s type. Objects of the same type share the same value.



51
52
53
# File 'lib/stripe/resources/apps/secret.rb', line 51

def object
  @object
end

#payloadObject (readonly)

The plaintext secret value to be stored.



53
54
55
# File 'lib/stripe/resources/apps/secret.rb', line 53

def payload
  @payload
end

#scopeObject (readonly)

Attribute for field scope



55
56
57
# File 'lib/stripe/resources/apps/secret.rb', line 55

def scope
  @scope
end

Class Method Details

.create(params = {}, opts = {}) ⇒ Object

Create or replace a secret in the secret store.



58
59
60
# File 'lib/stripe/resources/apps/secret.rb', line 58

def self.create(params = {}, opts = {})
  request_stripe_object(method: :post, path: "/v1/apps/secrets", params: params, opts: opts)
end

.delete_where(params = {}, opts = {}) ⇒ Object

Deletes a secret from the secret store by name and scope.



63
64
65
66
67
68
69
70
# File 'lib/stripe/resources/apps/secret.rb', line 63

def self.delete_where(params = {}, opts = {})
  request_stripe_object(
    method: :post,
    path: "/v1/apps/secrets/delete",
    params: params,
    opts: opts
  )
end

.field_remappingsObject



91
92
93
# File 'lib/stripe/resources/apps/secret.rb', line 91

def self.field_remappings
  @field_remappings = {}
end

.find(params = {}, opts = {}) ⇒ Object

Finds a secret in the secret store by name and scope.



73
74
75
76
77
78
79
80
# File 'lib/stripe/resources/apps/secret.rb', line 73

def self.find(params = {}, opts = {})
  request_stripe_object(
    method: :get,
    path: "/v1/apps/secrets/find",
    params: params,
    opts: opts
  )
end

.inner_class_typesObject



87
88
89
# File 'lib/stripe/resources/apps/secret.rb', line 87

def self.inner_class_types
  @inner_class_types = { scope: Scope }
end

.list(params = {}, opts = {}) ⇒ Object

List all secrets stored on the given scope.



83
84
85
# File 'lib/stripe/resources/apps/secret.rb', line 83

def self.list(params = {}, opts = {})
  request_stripe_object(method: :get, path: "/v1/apps/secrets", params: params, opts: opts)
end

.object_nameObject



20
21
22
# File 'lib/stripe/resources/apps/secret.rb', line 20

def self.object_name
  "apps.secret"
end