public async Task <bool> SignIn() { IsSigningIn = true; try { bool b = await SignInUsingIdentityManager(); if (b) { Portal = await ArcGISPortal.CreateAsync(App.PortalUri.Uri); //, CancellationToken.None, ((TokenCredential)_credential).Token); if (Portal != null) { CurrentUser = await ArcGISPortalUser.CreateAsync(Portal, ((TokenCredential)_credential).UserName); } SetOrganizationProperties(); IsSigningIn = false; return(true); } } catch (Exception ex) { IsSigningIn = false; var _ = App.ShowExceptionDialog(ex); } IsSigningIn = false; return(false); }
/// <summary> /// Initializes a <see cref="ArcGISPortalAuthenticatedContext"/> /// </summary> /// <param name="context">The OWIN environment</param> /// <param name="user">The ArcGIS Portal user</param> /// <param name="accessToken">ArcGIS Portal Access token</param> /// <param name="refreshToken">ArcGIS Portal Refresh token</param> /// <param name="host">ArcGIS Portal Host</param> public ArcGISPortalAuthenticatedContext(IOwinContext context, ArcGISPortalUser user, string accessToken, string refreshToken, string host) : base(context) { Uri hostUri = new Uri(host); AccessToken = accessToken; RefreshToken = refreshToken; Id = user.Username; Name = user.FullName; Link = new Uri(hostUri, "arcgis/sharing/rest/community/users/" + Id).ToString(); UserName = Id; Email = user.Email; }
public async Task <IList <ArcGISPortalGroup> > GetGroups() { ArcGISPortalUser portalUser = this.CurrentUser; if (portalUser == null) { await Task.Delay(10000); portalUser = this.CurrentUser; if (portalUser == null) { var r = await Task.FromResult <IList <ArcGISPortalGroup> >(null); return(r); } } IEnumerable <ArcGISPortalGroup> groups = await this.CurrentUser.GetGroupsAsync(); IList <ArcGISPortalGroup> results = new List <ArcGISPortalGroup>(groups); return(results); }
public async Task <bool> SignIn(string username, string password) { IsSigningIn = true; _userName = username; _password = password; //UriBuilder builder = new UriBuilder(string.Format(App.SharingRest, App.OrganizationUrl)); try { //IdentityManager.Credential credential = await IdentityManager.Current.GenerateTokenAsync(UriBuilder.Uri.ToString(), username, password); //if (credential != null && !string.IsNullOrEmpty(credential.Token)) // && credential.Token != Token) bool b = await SignInUsingIdentityManager(username, password); if (b) { Portal = await ArcGISPortal.CreateAsync(App.PortalUri.Uri, CancellationToken.None, null, _credential.Token); if (Portal != null) { CurrentUser = await ArcGISPortalUser.CreateAsync(Portal, _credential.UserName); } SetOrganizationProperties(); IsSigningIn = false; return(true); } } catch (Exception ex) { IsSigningIn = false; var _ = App.ShowExceptionDialog(ex); } IsSigningIn = false; return(false); }