Skip to main content

Secure token generation for Pica AuthKit

Project description

authkit-token

pypi version Python 3.9+

Secure token generation for Pica's AuthKit using Python.

Install

pip install authkit-token

Creating a token endpoint

You'll want to create an internal endpoint that's used to generate secure tokens for your frontend. You can do so by adding code that looks like the below snippet.

Synchronous Usage

from authkit_token import AuthKitToken

# In your Flask/FastAPI/Django endpoint
@app.post("/authkit-token")
async def create_authkit_token(request):
    authkit_token = AuthKitToken("sk_live_1234")
    token = authkit_token.create(
        identity_type="user",
        identity="user_123"
    )
    
    return token

Asynchronous Usage

from authkit_token import AuthKitToken

# In your async endpoint
@app.post("/authkit-token")
async def create_authkit_token(request):
    authkit_token = AuthKitToken("sk_live_1234")
    token = await authkit_token.create_async(
        identity_type="user",
        identity="user_123"
    )
    
    return token

You can get your API key from the Pica dashboard.

If you pass an identity or identity_type (user, team, organization, or project), you'll be able to query for all connections scoped to that identity. The identity is used to generate the unique Connection Key for the user once they successfully connect an account.

Frontend Implementation

To implement the AuthKit component in your frontend, you'll need to use the @picahq/authkit package. It's fully compatible with popular frameworks such as React, Next.js, Vue, Svelte, and more.

Diagram

sequenceDiagram
    participant User
    participant YourApp as Your Application
    participant YourBackend as Your Backend
    participant Pica as Pica AuthKit
    participant Integration as Third-party Integration

    User->>YourApp: Clicks "Connect Integration"
    YourApp->>Pica: Open AuthKit modal
    Pica->>YourBackend: Request AuthKit token
    YourBackend->>Pica: Generate token with user identity
    Pica->>Pica: Display integrations list
    User->>Pica: Select integration & authenticate
    Pica->>Integration: OAuth handshake
    Integration->>Pica: Access token
    Pica->>Pica: Store encrypted credentials
    Pica->>YourApp: Return connection details
    YourApp->>User: Connection successful!

Full Documentation

Please refer to the official Pica AuthKit docs for a more holistic understanding of AuthKit.

License

GPL-3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

authkit_token-1.0.1.tar.gz (22.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

authkit_token-1.0.1-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file authkit_token-1.0.1.tar.gz.

File metadata

  • Download URL: authkit_token-1.0.1.tar.gz
  • Upload date:
  • Size: 22.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for authkit_token-1.0.1.tar.gz
Algorithm Hash digest
SHA256 b03efeef7d47c67f973eaa420ee4185a89872ea071f0e0e9c081cacb58a4332e
MD5 5c24c21defb9e0c0555f16c8c3f52191
BLAKE2b-256 0a8a4d4990aefb984b815af524ae292c1486c8a0bc33526b0d46952dfeb8b1a4

See more details on using hashes here.

File details

Details for the file authkit_token-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: authkit_token-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for authkit_token-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cb885f01de83c44e054f28bb98f1081eb241b7791a491382372fd34a41ca4f6b
MD5 3221e708b5014654d46507ada1606220
BLAKE2b-256 bf65d955e8e868409d8edda0dd8b6cb1fcaae043166d43fd54fcb4611fd10694

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page