Civic Docs home pagelight logodark logo
  • Contact Us
  • Try Auth
  • Try Auth
Auth
Labs
  • About us
  • Blog
  • Help Center
  • Overview
    • Getting Started
    • Pricing
    • Bring Your App to Production
    • Login Options
    • FAQs
    • Authentication Flows
    • Changelog
    Integration
    • React
    • Next.JS
    • Vanilla JavaScript
    • Node.JS
    • Python
    • Mobile
    • Other OIDC / OAuth 2.0-Compliant Environments
    • Error Codes
    AI Prompts
    • Overview
    • Next.js
    • React
    Web3
    • Embedded wallets
    • Ethereum / EVM
    • Solana
    Guides
    • Create a secure MCP server in 15 Minutes
    Overview

    FAQs

    Frequently asked questions about Civic Auth integration.

    How do I get a new Client ID?

    To obtain a new Client ID, sign up at auth.civic.com to register your application. You can find your unique Client ID to use when integrating our API.

    For server-side applications: If you need client secret authentication for backend services, you can generate one directly in your dashboard under the Security tab. See our Authentication Flows guide for details on when and how to use client secrets.

    Do I need a client secret?

    Most applications should use our default PKCE authentication flow, as it provides strong security for modern web and mobile apps without requiring you to manage client secrets.

    We also support client secrets for server-side applications that require traditional OAuth 2.0 compatibility or want to achieve maximum security by combining it with PKCE.

    To see which method is right for you, see our complete Authentication Flows guide. If you need a client secret, you can generate one directly in your dashboard by navigating to the Security tab and clicking “Generate Client Secret”. Important: The client secret is only displayed once upon generation, so make sure to copy and securely store it immediately. You can always regenerate a new client secret if needed.

    How do I terminate keys?

    Contact our support team at support@civic.com for assistance in managing or revoking keys associated with your application.

    How do I add more authentication methods?

    Civic Auth supports Google as an authentication provider. However, Civic is working to add support for other major OIDC-compliant providers, such as Microsoft and Apple. Once available, these can be configured within your integration setup.

    Contact our team at support@civic.com and let us know which provider you’d like to see added.

    Can my users connect their existing self-managed wallets?

    No, but this is coming soon. Currently, we don’t support connecting users’ existing self-custodial wallets. We only support embedded wallets, which are generated on behalf of the user by our non-custodial wallet partner.

    Neither Civic nor your app ever has access to the wallets’ private keys.

    For Solana, we expose the Civic embedded wallets via the wallet-adapter interface. This means that Civic will be available as a choice for your users to connect when using @solana/wallet-adapter-react:

    In the example above, the user has Phantom installed and can connect their existing Phantom wallets to your dApp via the wallet-adapter. These wallets cannot currently be linked to Civic Auth. When the user selects Civic Auth, they are taken through a social login flow which gives them an embedded wallet generated by our backend, which is then exposed to your dApp via the wallet-adapter interface.

    For Ethereum, you could use Civic’s embeddedWallet() wagmi connector alongside other connectors like Metamask, so your code can switch between Civic embedded wallets and the user’s other installed wallets. Currently those wallets cannot be linked to the Civic account, they are separate.

    How are these wallets managed?

    Civic Auth wallets are provided through a partnership with metakeep.xyz. These wallets are Externally Owned Accounts (EOAs), which are authenticated by a private key that is held by the Metakeep infrastructure. They are linked to a user’s email address. Users verify ownership of their email by entering a unique email code. Wallet management occurs securely through client-side encryption using keys from our wallet provider.

    Does Civic own these wallets?

    No, Civic does not own these wallets. Civic Auth provides a non-custodial wallet solution. Civic facilitates wallet creation and management but does not hold custody of assets or keys.

    Will users get private keys?

    Users do not directly access their private keys. The wallets are secured using HSM, and transactions are authorized through the user’s SSO login credentials. This simplifies user experience and mitigates the risks of mismanaging private keys.

    What happens if users lose their SSO access?

    If a user loses access to their SSO (e.g., Google login), Civic Auth’s wallet provider includes a recovery feature to restore wallet access, which works independently of Civic’s infrastructure. Recovery is managed through the provider. Contact our team at support@civic.com so that we can initiate the wallet recovery process.

    Can I test Civic Auth before going live in production?

    Yes. By default, the Client ID retrieved from the dashboard will be configured for any environment. This will allow you to test your implementation before going live to production.

    You can get your Client ID at https://auth.civic.com/. Check out https://github.com/civicteam/civic-auth-examples to see how an application integrated with Civic Auth functions.

    What domains need to be registered for apps?

    All domains or redirect URLs used by your application must be explicitly included in your Civic Auth configuration when your app is in production mode. This ensures that login and logout redirects function correctly and securely.

    How can I monitor usage for Civic Auth?

    Civic Auth provides usage data, including logins from the user account and wallet creation events, via the developer dashboard at https://auth.civic.com.

    How do I debug Civic Auth integration issues?

    If you’re experiencing any issues integrating Civic Auth, follow the troubleshooting steps below:

    1

    Verify if your Client ID at https://auth.civic.com/ is valid and set up properly.

    2

    Check your console and network tabs for errors.

    3

    If you’re using an application that’s already in production, ensure that all domains or redirect URLs are correctly registered in your app’s configuration. Civic Auth will only redirect to registered domains after login or logout.

    If you’ve completed the steps above and still encounter issues, contact Civic at support@civic.com and provide the following details to help us investigate further:

    • A clear description of exactly what you’re trying to achieve and the issue you’re encountering in doing so

    • At which step in the implementation does the issue arise

    • Screenshots of the error or unexpected behavior

    • Relevant snippets of your code, especially the sections interacting with Civic Auth.

    • Any error messages from the Console and/or Network tabs

    How do I report bugs or request new features?

    Developers can report bugs or suggest new features by contacting Civic at support@civic.com. Provide as much detail as possible, including logs, screenshots, and steps to reproduce the issue.

    How do I invite team members?

    While Civic Auth doesn’t have this feature yet, we are actively working to include it in a future version of Civic Auth.

    How do I customize my logo?

    While Civic Auth doesn’t have this feature yet, we are actively working to include it in a future version of Civic Auth.

    Can I restrict certain wallets or block specific users?

    Currently, Civic Auth does not natively support blocking specific wallets or users.

    Assistant
    Responses are generated using AI and may contain mistakes.

    Was this page helpful?

    Login OptionsAuthentication Flows
    xlinkedinyoutube
    Powered by Mintlify