Exemplo n.º 1
0
        public PlexAuthentication SignIn(string username, string password)
        {
            var userModel = new PlexUserRequest
            {
                user = new UserRequest
                {
                    password = password,
                    login    = username
                }
            };
            var request = new RestRequest
            {
                Method = Method.POST
            };

            AddHeaders(ref request);

            request.AddJsonBody(userModel);

            var obj = RetryHandler.Execute <PlexAuthentication>(() => Api.Execute <PlexAuthentication> (request, new Uri(SignInUri)),
                                                                null,
                                                                (exception, timespan) => Log.Error(exception, "Exception when calling SignIn for Plex, Retrying {0}", timespan));

            return(obj);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Sign into the Plex API
        /// This is for authenticating users credentials with Plex
        /// <para>NOTE: Plex "Managed" users do not work</para>
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public async Task <PlexAuthentication> SignIn(UserRequest user)
        {
            var userModel = new PlexUserRequest
            {
                user = user
            };
            var request = new Request(SignInUri, string.Empty, HttpMethod.Post);

            AddHeaders(request);
            request.AddJsonBody(userModel);

            var obj = await Api.Request <PlexAuthentication>(request);

            return(obj);
        }
Exemplo n.º 3
0
        }                                       //set only via Secret Manager

        public async Task <PlexAuthentication> SignIn()
        {
            var userModel = new PlexUserRequest
            {
                user = new UserRequest {
                    login = Options.ServerLogin, password = Options.ServerPassword
                }
            };
            var request = new Request(SignInUri, string.Empty, HttpMethod.Post);

            AddHeaders(request);
            request.AddJsonBody(userModel);

            var obj = await Request <PlexAuthentication>(request);

            return(obj);
        }
Exemplo n.º 4
0
        /// <summary>
        /// Sign into the Plex API
        /// This is for authenticating users credentials with Plex.
        /// <para>NOTE: Plex "Managed" users do not work.</para>
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <PlexAccountDTO> PlexSignInAsync(string username, string password)
        {
            var userModel = new PlexUserRequest
            {
                User = new UserRequest
                {
                    Login    = username,
                    Password = password,
                },
            };
            var request = new RestRequest(new Uri(SignInUri), Method.POST);

            request.AddJsonBody(userModel);

            var result = await _client.SendRequestAsync <PlexAccountDTO>(request);

            return(result.ValueOrDefault);
        }
Exemplo n.º 5
0
        private IRestRequest SignInInternal(string username, string password)
        {
            var userModel = new PlexUserRequest
            {
                User = new UserRequest
                {
                    Password = password,
                    Login    = username
                }
            };
            var request = new RestRequest
            {
                Method        = Method.POST,
                RequestFormat = DataFormat.Json
            };

            Setup(ref request);
            AddHeaders(ref request);

            request.AddJsonBody(userModel);
            return(request);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Sign into the Plex API
        /// This is for authenticating users credentials with Plex
        /// <para>NOTE: Plex "Managed" users do not work</para>
        /// </summary>
        /// <returns></returns>
        public async Task <User> SignIn(string username, string password)
        {
            var userRequest = new PlexUserRequest
            {
                User = new UserRequest
                {
                    Login    = username,
                    Password = password
                }
            };

            var apiRequest =
                new ApiRequestBuilder("https://plex.tv/users/sign_in.json", string.Empty, HttpMethod.Post)
                .AddRequestHeaders(GetClientIdentifierHeader())
                .AddRequestHeaders(GetClientMetaHeaders())
                .AcceptJson()
                .AddJsonBody(userRequest)
                .Build();

            PlexAccount account = await ApiService.InvokeApiAsync <PlexAccount>(apiRequest);

            return(account?.User);
        }
Exemplo n.º 7
0
        public PlexAuthentication SignIn(string username, string password)
        {
            var userModel = new PlexUserRequest
            {
                user = new UserRequest
                {
                    password = password,
                    login    = username
                }
            };
            var request = new RestRequest
            {
                Method = Method.POST
            };

            AddHeaders(ref request, false);

            request.AddJsonBody(userModel);

            var obj = Api.Execute <PlexAuthentication> (request, new Uri(SignInUri));

            return(obj);
        }
Exemplo n.º 8
0
        public PlexAuthentication SignIn(string username, string password)
        {
            var userModel = new PlexUserRequest
            {
                user = new UserRequest
                {
                    password = password,
                    login    = username
                }
            };
            var request = new RestRequest
            {
                Method = Method.POST
            };

            AddHeaders(ref request);

            request.AddJsonBody(userModel);

            var api = new ApiRequest();

            return(api.Execute <PlexAuthentication>(request, new Uri("https://plex.tv/users/sign_in.json")));
        }