-
Notifications
You must be signed in to change notification settings - Fork 624
Feature/auth web3 module #3743
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/auth web3 module #3743
Conversation
- Implements ENS-based authentication using Ethereum Name Service - Integrates with Oasis Sapphire blockchain for digest verification - Supports both WWW-Authenticate and Proxy-Authenticate flows - Compatible with standard SIP digest authentication - Includes comprehensive documentation and examples Author: Ron Terman <[email protected]> Organization: Cellact B.V. Features: - web3_www_authenticate() and web3_proxy_authenticate() functions - ENS name resolution to wallet addresses - Blockchain digest verification via smart contracts - Support for Oasis Sapphire testnet and mainnet - Complete DocBook documentation Dependencies: - libcurl for HTTP RPC calls - OpenSSL for cryptographic operations Tested with OpenSIPS 3.2+ on REGISTER and INVITE authentication flows.
- Implements ENS-based authentication using Ethereum Name Service - Integrates with Oasis Sapphire blockchain for digest verification - Supports both WWW-Authenticate and Proxy-Authenticate flows - Compatible with standard SIP digest authentication - Includes comprehensive documentation and examples Author: Ron Terman <[email protected]> Organization: Cellact B.V. Features: - web3_www_authenticate() and web3_proxy_authenticate() functions - ENS name resolution to wallet addresses - Blockchain digest verification via smart contracts - Support for Oasis Sapphire testnet and mainnet - Complete DocBook documentation Dependencies: - libcurl for HTTP RPC calls - OpenSSL for cryptographic operations Tested with OpenSIPS 3.2+ on REGISTER and INVITE authentication flows.
…usion about if the module is for opensips or kamailio - Change all copyright headers from Jonathan Kandel to Cellact B.V. - Update all Kamailio references to OpenSIPS throughout codebase - Remove build artifacts (.d, .o, .so files) and .history directory - Ensure module is clearly positioned as OpenSIPS module, not Kamailio port Addresses OpenSIPS reviewer feedback about copyright ownership and project focus.
|
Due to merging conflicts encountered with the previous version of this PR, I have created this new pull request to ensure a clean submission. The previous PR was assigned to @razvancrainea for review, and this updated version incorporates the feedback received during that review process. I hope this mishap wont cause too much trouble for the opensips team. Changes MadeBased on the feedback received, I have made the following updates to the module:
|
|
Any updates here? No progress has been made in the last 30 days, marking as stale. |
|
Pretty cool, thanks! |
|
@OfficeRon , thanks for the PR, I just merged it. While I'm doing all the web hooks for the module docs , let me ask you about the docs you have there. There is the |
|
Thank you very much for merging. I appreciate it a lot! |
|
@OfficeRon Yes, please incorporate the |
|
@OfficeRon I tried to create debian and redhat packages for the module too, but it doesn't seem to compile: Apparently the I guess I can mock something, but ideally you should add it with your own copyright and customizations. Please advise how to proceed. In the meantime, I've reverted the packaging and prevented the module from compiling. |
|
Thank you so much for the feedback. Ill implement both the full xml and this "web3_auth_api_t not defined" error as soon as possible. Once I do, I will make a new PR. Thank you |
Summary
This PR adds a new
auth_web3module that enables Web3-based authentication for OpenSIPS, allowing SIP authentication through blockchain technology and ENS (Ethereum Name Service) resolution.Details
This is a new feature that addresses the growing need for decentralized authentication in SIP environments. Traditional SIP authentication relies on centralized databases or password files, which creates single points of failure and requires complex user management.
The auth_web3 module solves this by:
This is particularly valuable for:
Solution
The module implements a complete Web3 authentication system:
Technical Implementation:
web3_www_authenticate()andweb3_proxy_authenticate()functionsConfiguration Parameters:
authentication_rpc_url: Oasis Sapphire RPC endpointauthentication_contract_address: Smart contract addressens_rpc_url: Ethereum mainnet RPC for ENS resolutionens_registry_address: ENS registry contract addresscontract_debug_mode: Debug logging controlrpc_timeout: Blockchain call timeoutDocumentation:
Compatibility
This module is fully backward compatible:
Dependencies:
Closing issues
This is a new feature submission, not addressing a specific existing issue.