Authentication requirements for BigGeo gRPC.
Overview
This document outlines the authentication requirements for our gRPC based product. The behavior varies based on the deployment method: through Azure Marketplace or locally by hosting the solution on a local machine.
Azure Marketplace Deployment
If the product is deployed through Azure Marketplace, the following rules apply:
- If the user has enabled password authentication during the creation process, they must provide the chosen password by adding a
password
field in the metadata of each request.- Note: the user providing an incorrect password or no password at all in the initiated requests will result in a
16: UNAUTHENTICATED
response from the server.
- Note: the user providing an incorrect password or no password at all in the initiated requests will result in a
- If the user disables authentication, they do not need to set the password field in the request.
Local Deployment
For local deployments, authentication can be controlled via environment variables:
- Set the
BGSEARCH_AUTH_ENABLED
environment variable to true (case insensitive) to enable authentication in the container instance. - If
BGSEARCH_AUTH_ENABLED
is set to true, the user must also specify theBGSEARCH_PSWD
environment variable to define the password to use.- Note: Failure to set the
BGSEARCH_PSWD
environment variable when authentication is enabled will result in the container failing to start.
- Note: Failure to set the
Code Examples
// Assuming you have a gRPC stub named `stub`
grpc::ClientContext context;
// If authentication is enabled
std::string password = "user_password_here";
context.AddMetadata("password", password);
// Make the gRPC call using the context
auto response = stub->YourRPCMethod(&context, request);
# Assuming you have a gRPC channel and stub
# If authentication is enabled
password = "user_password_here"
metadata = [('password', password)]
# Make the gRPC call using the context
response = stub.YourRPCMethod(request, metadata=metadata)