Exemple #1
0
    protected override void OnMyDialogOpening()
    {
        var    entityPage = Page as Sage.Platform.WebPortal.EntityPage;
        string providerId = String.Empty;

        if (entityPage != null)
        {
            IIntegration provider = EntityFactory.GetById <IIntegration>(entityPage.EntityContext.EntityID);
            providerId = provider.OAuthProvider.Id.ToString();
        }
        else
        {
            if (DialogService.DialogParameters.ContainsKey("ProviderId"))
            {
                providerId = (string)DialogService.DialogParameters["ProviderId"];
            }
        }
        AuthorizationServiceViewControllerBase.HandleDialogOpening(providerId, Page);
        txtUserName.Text = AuthorizationServiceViewControllerBase.GetProviderUserName(providerId);
        if (String.IsNullOrWhiteSpace(txtUserName.Text))
        {
            txtUserName.Text = GetUserEmail();
        }
        base.OnMyDialogOpening();
    }
Exemple #2
0
    protected void btnOK_ClickAction(object sender, EventArgs e)
    {
        var    entityPage = Page as Sage.Platform.WebPortal.EntityPage;
        string providerId = String.Empty;

        if (entityPage != null)
        {
            var provider = EntityFactory.GetById <IIntegration>(entityPage.EntityContext.EntityID);
            providerId = provider.OAuthProvider.Id.ToString();
        }
        else
        {
            if (DialogService.DialogParameters.ContainsKey("ProviderId"))
            {
                providerId = DialogService.DialogParameters["ProviderId"] as string;
            }
        }
        AuthorizationServiceViewControllerBase.HandleOkClick(txtAutheticationId.Text, txtUserName.Text, providerId);
        var refresher = PageWorkItem.Services.Get <IPanelRefreshService>();

        refresher.RefreshAll();
        DialogService.CloseEventHappened(null, EventArgs.Empty);
    }
    protected override void OnPreRender(EventArgs e)
    {
        // let the code process a callback URL, if we are being redirected from the OAuth provider
        if (Request.QueryString["oauthCallback"] == "true" && !IsPostBack)
        {
            AuthorizationServiceViewControllerBase.HandleCallback();
        }

        var items       = new List <ProviderHelperItem>();
        var userService = ApplicationContext.Current.Services.Get <IUserService>();
        IList <IOAuthProvider>  providerList = EntityFactory.GetRepository <IOAuthProvider>().FindAll();
        IList <IUserOAuthToken> tokenList    = EntityFactory.GetRepository <IUserOAuthToken>()
                                               .FindByProperty("User.Id", userService.UserId.Trim());

        foreach (IOAuthProvider provider in providerList)
        {
            if ((provider.Integration.Enabled ?? false) &&
                (!String.IsNullOrEmpty(provider.ClientId) && !String.IsNullOrEmpty(provider.Secret) &&
                 UserHasAccess(provider.ProviderKey)))
            {
                var item = new ProviderHelperItem(provider);
                foreach (IUserOAuthToken token in tokenList)
                {
                    if (token.OAuthProvider.Id == provider.Id)
                    {
                        item.AccountName  = token.AccountLoginName;
                        item.IsAuthorized = true;
                    }
                }
                items.Add(item);
            }
        }
        lblNoProviders.Visible      = items.Count == 0;
        providerListView.DataSource = items;
        providerListView.DataBind();
    }