Source code for strongdoc.client

#
# All Rights Reserved 2020
#

from os import path
from strongdoc import constants

import grpc


def _open_cert():
    with open(constants.CERT, 'rb') as f:
        return f.read()


[docs]def connect_to_server_with_no_auth(): """ Creates a secure channel to the StrongDoc Server :returns: channel -- A secure gRPC SSL channel. """ trusted_certs = _open_cert() # Create the SSL and authorization token credentials channel_credentials = grpc.ssl_channel_credentials(root_certificates=trusted_certs) # Create a secure channel to the server channel = grpc.secure_channel('{}:{}'.format(constants.HOST, constants.PORT), channel_credentials) return channel
[docs]def connect_to_server_with_auth(token): """ Creates a secure channel with an authentication token to the StrongDoc Server :param token: The user JWT token :type token: str :returns: channel -- A secure gRPC SSL channel. """ trusted_certs = _open_cert() # Create the SSL and authorization token credentials channel_credentials = grpc.ssl_channel_credentials(root_certificates=trusted_certs) call_credentials = grpc.access_token_call_credentials(token) composite_credentials = grpc.composite_channel_credentials(channel_credentials, call_credentials) # Create a secure channel to the server channel = grpc.secure_channel('{}:{}'.format(constants.HOST, constants.PORT), composite_credentials) return channel