Exemplo n.º 1
0
    public async Task <bool> TryCompletePinFlow(PlexAuthPin authPin)
    {
        try
        {
            PlexTokenResponse response = await _plexTvApi.GetPinStatus(
                authPin.Id,
                authPin.Code,
                authPin.ClientIdentifier);

            if (!string.IsNullOrWhiteSpace(response.AuthToken))
            {
                PlexUserResponse user = await _plexTvApi.GetUser(
                    AppName,
                    authPin.ClientIdentifier,
                    response.AuthToken);

                var token = new PlexUserAuthToken(user.Email, user.AuthToken);
                await _plexSecretStore.UpsertUserAuthToken(token);

                return(true);
            }
        }
        catch (Exception ex)
        {
            _logger.LogError(ex, "Error completing plex pin flow");
        }

        return(false);
    }
Exemplo n.º 2
0
 public Task <Unit> UpsertUserAuthToken(PlexUserAuthToken userAuthToken) =>
 ReadSecrets().Bind(