예제 #1
0
        private static void GetToken(string code, Dictionary <string, string> body)
        {
            var content = new FormUrlEncodedContent(body);
            var result  = db.Settings.AuthURL
                          .AppendPathSegment("token")
                          .WithBasicAuth(db.Settings.ESIClientId, db.Settings.ESISecret)
                          .PostAsync(content)
                          .ReceiveString()
                          .Result;

            var obj   = JObject.Parse(result);
            var token = new AuthToken()
            {
                AccessToken  = obj.SelectToken("access_token").Value <string>(),
                Expires      = obj.SelectToken("expires_in").Value <int>(),
                RefreshToken = obj.SelectToken(Strings.Refresh_Token).Value <string>()
            };

            if (body[Strings.Grant_Type] == Strings.Authorization_Code)
            {
                token.AuthorizationToken = code;
            }

            GetCharacterDetails(ref token);

            StaticInfo.Completed(token);
        }