Configure node apps with plain and encrypted JSON files
Command-line tool for @tsmx/secure-config.
@typed-secure-config/core ===
Typed Secure Config CLI ===
@typed-secure-config ===
Easy and secure configuration management. JSON based - AES encrypted secrets - HMAC validation - env var export
Hooroo Secure Config
The `aki-angular-secure-config` is a new npm package developed to address a security vulnerability in Angular applications. This package ensures that sensitive configuration data in `config.json` is protected from being inspected or extracted via browser
Grunt tasks for management of secure-config encrypted JSON files.
A simple Vue.js plugin for handling browser cookies
JSON parse with prototype poisoning protection
A unified JavaScript build system
A tiny (130B to 205B) and fast utility to randomize unique IDs of fixed length
A simple Vue.js 3 plugin for handling browser cookies
A tiny (230B) and fast UUID (v4) generator for Node and the browser
simple persistent cookiejar system
Provides functions for detecting if the host environment supports the WebCrypto API
Expensify's ESLint configuration following our style guide
Secure, zero-dependency utilities for generating passwords, passphrases, pins, and more
a secure dotenv–from the creator of `dotenv`
Securely compare two strings, copied from cryptiles
A security-focused rehype plugin that filters URLs based on allowed prefixes
HTTP Server framework
A Vite plugin to generate untrusted certificates for HTTPS dev servers
all rights reserved; for internal use only
Share config securely with your servers and organization using AWS S3.
Manages your EC2 security groups using YAML config files.
Library to audit, create, or update AWS security groups based on a Ruby config file.
If you are a guy who always find something wrong only after sending a pull requset, Priha will help you because Priha lets you examine files' diff between the parent branch and HEAD of the current branch in a real GitHub pull request. However, DO NOT use Priha for your secret repostitory. Since Priha pushes some commits to another repository on GitHub, it easily cause a security incident, espacially the branch you set for Priha is "public". Also, Priha removes all branches on the repository specified in config, so you MUST create a new repository for this purpose and DO NOT use the existing one.
# Payfast Payfast is a Ruby gem that simplifies the process of integrating the PayFast payment gateway into your Ruby on Rails application. It provides a generator that helps scaffold the necessary configuration, routes, models, and controllers required to integrate PayFast seamlessly. ## Demo  ## Installation Add this line to your application's Gemfile: ```bash bundle add payfast ``` ## Usage ```bash rails generate payfast:install ``` ## This generator will perform the following actions: insert config/routes.rb create app/controllers/carts_controller.rb create app/views/carts/index.html.erb create app/views/carts/make_payment.html.erb create app/helpers/carts_helper.rb create db/migrate/20230824105530_create_carts.rb create config/payfast.yml create app/models/cart.rb insert app/views/layouts/application.html.erb insert config/environments/development.rb ## Additional configuration Setup payfast credentials for your environment rails EDITOR="code --wait" bin/rails credentials:edit This will allow you to securely edit and store your credentials. once you save and exit the file, the credentials will be encrypted and can only be accessed withe rails master key. payfast: merchant_id: {your_merchant_id} merchant_key: {your_merchant_key} passphrase: {{your_passphrase}} ## Update your `payfast.yml` config file - setup the credentials to be use by the rails app - uncomment `Rails.application.credentials.payfast.merchant_id ` and wrap it in erb tags as instructed in the comments. ## Templates Update the `make_payment.html.erb` as instructed in the file. it should look like so: ```js <script> // set the uuid to uuid = @cart.payment_uid. surround @carts.payment_uid with erb tags const uuid = `<%= @cart.payment_uuid %>` window.payfast_do_onsite_payment({uuid}, function (result) { if (result === true) { // redirect success_path(@cart) window.location.href = `<%= success_cart_path(@cart) %>` } else { // Redirect to failure_path(@cart) window.location.href = `<%= failure_cart_path(@cart) %>` } }); </script> ``` ## Testing - payfast api allows only SSL communication from your server. inorder to test locally. you will have to use a tunneling service that allows you to expose your local development server to the internet. your rails development config has was modified by the generator to allow ngrok hosts to hit your rails server ```ruby config.hosts << /[a-z0-9-]+\.ngrok-free\.app/ ``` ## Contributing Thank you for considering contributing to our project! We welcome contributions from the community to help improve this project and make it better for everyone. ### Issues If you encounter any issues or bugs while using our project, please [open a new issue](https://github.com/mactunechy/payfast/issues) on GitHub. Please make sure to include detailed information about the problem, steps to reproduce it, and the environment in which you encountered it. ### Pull Requests We encourage pull requests from the community! If you have an improvement or new feature you'd like to contribute, please follow these steps: 1. Fork the repository and create a new branch for your feature or bug fix. 2. Make your changes and write tests to cover any new functionality. 3. Ensure that the existing tests pass and write additional tests for any bug fixes. 4. Commit your changes and push the new branch to your forked repository. 5. Submit a pull request to our main repository, including a detailed description of the changes you made and any relevant information. We will review your pull request as soon as possible and provide feedback if needed. We value your contributions and will work with you to ensure your changes are integrated smoothly. d Your contributions are essential to the success of this project, and we are grateful for your help in making it better for everyone. If you have any questions or need further assistance, feel free to reach out to us. Happy coding!
== Devise::Revokable A module for Devise[http://github.com/plataformatec/devise] This gem was created by "borrowing" heavily from Devise::Invitable[http://github.com/scambra/devise_invitable] It exists to extend Devise to provide the basis for what is essentially the reverse of the standard <tt>confirmable</tt> module. Where <tt>confirmable</tt> sends an email and awaits a response, before confirming a new registration, <tt>revokable</tt> allows immediate access and sends an email which provides a link to "revoke" the account if it was created fraudulently. This is useful if you want to lower the barrier to entry to creating accounts, and clearly, if account security isn't a concern. Note that tests are non-existent. Use freely but at your own risk. === Configuring It works like normal Devise modules. Add the <tt>:revokable</tt> module to the declaration. # in user.rb devise :revokable # plus other devise modules If the user who received the revocation email follows the provided link and confirms revocation, the account will effectively be "revoked" and inactive, unable to log in. Additionally, you may want to override <tt>#revoke!</tt> to perfom additional revocation on the account, e.g. deleting posts made, resetting personal information, etc. The super method yields to a block for this purpose. # in user.rb def revoke! super do self.some_method_that_resets_me! end end That's about the extent of it. As with typical devise modules you can override the mailers and views with your own. Additionally you can define the module accessor <tt>@@mailer</tt> on the module with a proc to handle your mail if you need to. This proc is yielded two arguments, the method name (e.g. :revocation_instructions), and the affected resource. # in config/initializers/devise_revokable.rb require 'devise_revokable' require 'my_mailer' DeviseRevokable.mailer = proc {|method_name, resource| MyMailer.send(:method_name, resource) }
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.