Skip to content

neisep/Probe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Probe

A lightweight HTTP client built with Rust and egui.


OAuth2

Probe supports three OAuth2 flows, configured per environment under the Auth tab.

Flows

Flow When to use
Authorization Code + PKCE Interactive login; opens browser, handles callback
Client Credentials Service-to-service; no user interaction
Device Code Devices without a browser; shows a user code to enter elsewhere

Configuration

Select a flow from the dropdown, fill in the required fields, then click Get token.

Authorization Code + PKCE

  • Authorize URL, Token URL, Client ID — required
  • Client secret — only for confidential clients
  • Scopes — space-separated (e.g. openid profile email)

Client Credentials

  • Token URL, Client ID, Client secret — required
  • Scopes — optional

Device Code

  • Device auth URL, Token URL, Client ID — required
  • Client secret — optional for public clients
  • Scopes — optional

All flows share an Advanced section for audience, resource, and arbitrary extra parameters.

Token lifecycle

  • Tokens are stored in .probe/oauth_tokens/ (one JSON file per environment).
  • Before each request, the token is checked: if it expires within 60 seconds, Probe attempts a refresh automatically.
  • The status pill in the Auth tab shows expires in Xm, expired, or no token.
  • Click Reset token to clear the stored token for the active environment.

Header injection

By default, the token is injected as Authorization: Bearer <token>.

To customise, expand Header injection in the Auth tab:

  • Header name — defaults to Authorization
  • Header prefix — defaults to Bearer; leave blank for a raw token value
  • Inject token into requests — uncheck to disable injection without deleting the token

If you manually set the same header on a request, the OAuth token will not overwrite it.

Keyring storage (optional)

Build with --features keyring-storage to store tokens in the OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service) instead of plaintext files:

cargo build --features keyring-storage

About

Probe is a native, fast REST client built with Rust + egui. A lightweight alternative to Postman/Insomnia, focused on speed, clarity, and developer‑first workflows. Uses simple .http files, no cloud, no telemetry, no clutter just requests, responses, and productivity.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors