예제 #1
0
        private void OAuthDownPartyViewModelAfterInit(GeneralOAuthDownPartyViewModel oauthDownParty, OAuthDownPartyViewModel model)
        {
            if (oauthDownParty.CreateMode)
            {
                if (oauthDownParty.SubPartyType == OAuthSubPartyTypes.Resource)
                {
                    oauthDownParty.EnableClientTab   = false;
                    oauthDownParty.EnableResourceTab = true;
                    oauthDownParty.ShowClientTab     = false;
                    oauthDownParty.ShowResourceTab   = true;

                    model.Resource = new OAuthDownResource();
                }
                else if (oauthDownParty.SubPartyType == OAuthSubPartyTypes.ClientCredentialsGrant)
                {
                    oauthDownParty.EnableClientTab   = true;
                    oauthDownParty.EnableResourceTab = false;
                    oauthDownParty.ShowClientTab     = true;
                    oauthDownParty.ShowResourceTab   = false;

                    model.Client = new OAuthDownClientViewModel();

                    model.Client.DefaultResourceScope = false;

                    model.Client.RequirePkce = false;
                    model.Client.Secrets     = new List <string> {
                        SecretGenerator.GenerateNewSecret()
                    };

                    model.Client.ResponseTypes.Add("token");
                }
                else
                {
                    throw new NotSupportedException("OAuthSubPartyTypes not supported.");
                }
            }
        }
예제 #2
0
        private void OAuthDownPartyViewModelAfterInit(GeneralOAuthDownPartyViewModel oauthDownParty, OAuthDownPartyViewModel model)
        {
            if (oauthDownParty.CreateMode)
            {
                model.Client   = oauthDownParty.EnableClientTab ? new OAuthDownClientViewModel() : null;
                model.Resource = oauthDownParty.EnableResourceTab ? new OAuthDownResource() : null;

                if (model.Client != null)
                {
                    model.Client.ResponseTypes.Add("code");
                    model.Client.ScopesViewModel.Add(new OAuthDownScopeViewModel {
                        Scope = IdentityConstants.DefaultOidcScopes.OfflineAccess
                    });
                }
            }
        }