Coder Social home page Coder Social logo

unkeyed / unkey Goto Github PK

View Code? Open in Web Editor NEW
2.3K 8.0 220.0 192.14 MB

Open source API management platform

Home Page: https://go.unkey.com

License: GNU Affero General Public License v3.0

TypeScript 88.94% CSS 0.38% JavaScript 0.16% Makefile 0.01% MDX 10.33% Vue 0.01% Shell 0.01% Dockerfile 0.02% Go 0.17%
open-source authentication authorization gateway api api-keys

unkey's Introduction

Unkey

Open Source API authentication and authorization

Contributing

Please read through our contributing guide before starting any work.

Let's talk

Book us with Cal.com

Authors

Stats

Alt

unkey's People

Contributors

akshaybandi027 avatar ankcorn avatar bekacru avatar bipulpoudel avatar chronark avatar codingmickey avatar crutchcorn avatar danielroe avatar dependabot[bot] avatar domeccleston avatar eltociear avatar ethan-stone avatar g3root avatar github-actions[bot] avatar glamboyosa avatar guilhermerodz avatar jonxslays avatar kartiksoneji avatar kaustubhkumar05 avatar kohasummons avatar michaelunkey avatar mxkaske avatar notrab avatar perkinsjr avatar pmbanugo avatar praashh avatar rohitlakh avatar shreyanshtomar avatar ubinatus avatar wilfredalmeida avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unkey's Issues

Introduce Teams

We need to introduce teams (organizations) so we can support multi users.

Introduce payments

We need to introduce payments to begin the revenue stream. We don't have to enable it but at least have the code behind.

Create overview page

Create a UI for the overview pages to show the user stats, info and anything else.

Create onboarding flow UI

Create our onboarding flow:

  1. User signs up.
  2. User creates their tenant
  3. User lands in their tenant page.

Tentative Elixir SDK

Hi I saw a tweet from @chronark https://twitter.com/chronark_/status/1671626313558261763?s=46&t=mo1Vl4m1gGQKGdXzA6KgkQ about potentially building an SDK in TS and the community building one in Elixir and I just wanted to pop in and offer to build one in Elixir for the community. I'm an engineer with 3 years experience with JS / TS and Elixir and I think the community would benefit from having a package as it's usually forgotten.

https://github.com/glamboyosa/ex-cleanse is an example of a small package I wrote in TS for Elixir.

Cheers.

Differentiate between false and true verifications

The dashboard treats all verifications, whether the result is true or false based on the ratelimit, as the same. It might be useful to be able to keep track of the the number of true and false results and maybe even visualize this with a stacked bar chart or two columns per day, one for verifications that return true and another for the ones that return false.

Cache root key in http-only cookie or elsewhere

Right now when creating a regular key in the UI, we first create a timed root key and then use that to create the key.
it would be better if we can use a cached root key instead.

I have not found a way to set cookies with trpc, so perhaps we need a new trpc route to get a root key and then store that in the SessionStorage manually

[ui] Fix Create new API Dialog's styling.

Issue: Create Button in create new API should have some more space around it. as of now it looks so much cluttered with the text above it. Dialog's styling does not looks consistent.

๐Ÿ˜„ I am willing to fix this issue, Can I? and create the pull request right away?

To Reproduce:

  • go ahead and open the create new API dialog.

image

Add a formatter for the metadata JSON input when creating new keys in API GUI

While the validator and error message are helpful to enforce valid JSON, a formatter would also go a long way to improve the UX of writing metadata onto keys. A formatter that adds closing parantheses/brackets/braces/quotes, new lines, indents, etc. would be great. Anything that feels more like an IDE is probably the right direction.

Not hugely important, but sharing for visibility :).

Timeline for Availability of Usage Analytics and Policy Addition Features

Hello Maintainers,

Firstly, I want to extend my heartfelt appreciation for your diligent work on this incredible open-source project. We have evaluated several solutions and decided to integrate your product into our system due to its superior quality and functionality.

However, for our specific needs, we are particularly interested in two upcoming features: Usage Analytics and Policy Additions. They form crucial components of our intended application.

With that said, I would like to kindly inquire if you could provide us with a tentative timeline for the implementation of these features. Our project's schedule is somewhat time-sensitive, so having an estimate would greatly assist us in planning and coordination.

Thank you for your time and consideration. We are looking forward to using your project to its full potential.

Account Management

Allow users to:

  1. Update email
  2. Update profile picture
  3. Delete account and all data
  4. Delete Org membership
  5. Delete entire Org

Make the root API key hidden by default

For security, it would be best if the root API key were hidden like in a password field by default with the copy button and potentially a show/hide button as well.

I would be happy to contribute this.

Expires check on creation is incorect.

curl --request POST \
  --url https://api.unkey.dev/v1/keys \
  --header 'Authorization: Bearer unkey_8utaTazvpL7yXjqngegmVW' \
  --header 'Content-Type: application/json' \
  --data '{
        "apiId":"api_7oKUUscTZy22jmVf9THxDA",
        "prefix":"xyz",
        "byteLength":16,
        "ownerId":"james",
        "meta":{
                "hello": "world"
        },
        "expires": 17187186732,
        "ratelimit":{
                "type":"fast",
                "limit":10,
                "refillRate": 1,
                "refillInterval": 1000
        }

}'

This returns expires must be in the future, the date is in 2054. We should double check two things:

  1. How we do comparison.
  2. Make sure the timezone is always UTC

Golang SDK for Unkey

I am willing to create a Go package for creating, verifying, and revoking keys.

If approved, please assign me the issue and I'll work on it.

Workspace creations causes user to be trapped in stripe

Because we want users to pay for a workspace, we trap them and they can't get out. This doesn't present in Dev because you can switch to the other workspace because it doesn't open stripe.

We should do something else to prevent this instead.

  1. Disable all the buttons.
  2. Allow them to move to -> app/apis (so they can go back to personal

Security questions

Hi, I would like to use Unkey in my project but I have a few questions regarding security.

  • Why is Unkey secure? What makes it secure?
  • Where are API keys stored? On a Planet scale db instance?
  • Are the API keys encrypted in any way?

Broken Link in README file

I've found a documentation bug in the README file. When clicking on the CONTRIBUTING link, it redirects to a 404 page not found error.

It seems like the CONTRIBUTING.md file may have been moved, renamed, or deleted which is causing this broken link.

Thank you for your attention to this matter.

Enable custom defaults for key prefix and bytes length

The current key creation form enables users to set a key prefix and bytes length (among others) with the default form values of "key" and "16" respectively. When creating many keys manually, this is annoying to keep changing these values to my custom overrides. It would reduce friction to enable saving a set of defaults either per API or per Workspace to help enforce consistency for those using the dashboard GUI.

Create APIs for onboarding flow.

When onboarding.

  1. Insert user into DB
  2. Creates their tentant adds a DB entry.
  3. Create their API key that needs to be associated with the user.

Improve README

Thanks for the amazing project!

Currently the readme, doesn't explain clearly on how to setup and run the repo locally.

It would be easier to contribute to the repo and project with the necessary details ๐Ÿ˜„

[ui] 2 Minor UI fixes.

Issue: 2 Minor UI fixes

๐Ÿ˜„ I am willing to fix this issue, Can I? and create the pull request right away? @chronark @perkinsjr

1. Like all other clickable items on the website has cursor of pointer. but this is not the case with WorkspaceSwitcher's buttons.

  • image

2. The signout button container is not taking up the whole space.

  • image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.