示例#1
0
        public LiveConnectSession LoadSession(LiveAuthClient authClient)
        {
            ApplicationDataContainer appData = ApplicationData.Current.RoamingSettings;
            LiveConnectSession       session = null;

            if (appData.Values.Count > 0)
            {
                session = new LiveConnectSession(authClient);

                if (appData.Values.ContainsKey(AuthConstants.AccessToken))
                {
                    session.AccessToken = appData.Values[AuthConstants.AccessToken] as string;
                }

                if (appData.Values.ContainsKey(AuthConstants.AuthenticationToken))
                {
                    session.AuthenticationToken = appData.Values[AuthConstants.AuthenticationToken] as string;
                }

                if (appData.Values.ContainsKey(AuthConstants.RefreshToken))
                {
                    session.RefreshToken = appData.Values[AuthConstants.RefreshToken] as string;
                }

                if (appData.Values.ContainsKey(AuthConstants.Expires))
                {
                    session.Expires = (DateTimeOffset)appData.Values[AuthConstants.Expires];
                }

                if (appData.Values.ContainsKey(AuthConstants.Scope))
                {
                    session.Scopes        = LiveAuthClient.ParseScopeString(appData.Values[AuthConstants.Scope] as string);
                    TestAuthClient.Scopes = session.Scopes;
                }
            }

            return(session);
        }