Skip to content

Token caching with custom profiles #105

@sbalian

Description

@sbalian

Token caching is implemented in faculty.session.get_session. But this calls faculty.config.resolve_profile which has a pre-defined order of places it pulls credentials from. It would be better if faculty.session.get_session takes in a faculty.config.Profile instance (or caching is implemented without having to always force resolving profiles). For example, on a platform server that has environmental variables defined, passing credentials_path to faculty.session.get_session has no effect.

Note that for my example there is a somewhat ugly workaround:

import faculty
import faculty.session
import faculty.clients

profile = faculty.config.load_profile('/path/to/config', 'default')
session = faculty.session.get_session(
    domain=profile.domain, client_id=profile.client_id,
    client_secret=profile.client_secret
)
client_class = faculty.clients.for_resource('cluster')
cluster = client_class(session)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions