當前位置: 首頁>>代碼示例>>Golang>>正文


Golang api.OAuthClient類代碼示例

本文整理匯總了Golang中github.com/openshift/origin/pkg/oauth/api.OAuthClient的典型用法代碼示例。如果您正苦於以下問題:Golang OAuthClient類的具體用法?Golang OAuthClient怎麽用?Golang OAuthClient使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了OAuthClient類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: autoConvert_v1_OAuthClient_To_api_OAuthClient

func autoConvert_v1_OAuthClient_To_api_OAuthClient(in *OAuthClient, out *oauth_api.OAuthClient, s conversion.Scope) error {
	if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found {
		defaulting.(func(*OAuthClient))(in)
	}
	if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
		return err
	}
	// TODO: Inefficient conversion - can we improve it?
	if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
		return err
	}
	out.Secret = in.Secret
	if in.AdditionalSecrets != nil {
		in, out := &in.AdditionalSecrets, &out.AdditionalSecrets
		*out = make([]string, len(*in))
		copy(*out, *in)
	} else {
		out.AdditionalSecrets = nil
	}
	out.RespondWithChallenges = in.RespondWithChallenges
	if in.RedirectURIs != nil {
		in, out := &in.RedirectURIs, &out.RedirectURIs
		*out = make([]string, len(*in))
		copy(*out, *in)
	} else {
		out.RedirectURIs = nil
	}
	if in.ScopeRestrictions != nil {
		in, out := &in.ScopeRestrictions, &out.ScopeRestrictions
		*out = make([]oauth_api.ScopeRestriction, len(*in))
		for i := range *in {
			if err := Convert_v1_ScopeRestriction_To_api_ScopeRestriction(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.ScopeRestrictions = nil
	}
	return nil
}
開發者ID:RomainVabre,項目名稱:origin,代碼行數:40,代碼來源:conversion_generated.go

示例2: autoConvert_v1_OAuthClient_To_api_OAuthClient

func autoConvert_v1_OAuthClient_To_api_OAuthClient(in *OAuthClient, out *api.OAuthClient, s conversion.Scope) error {
	if err := api_v1.Convert_v1_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil {
		return err
	}
	out.Secret = in.Secret
	out.AdditionalSecrets = *(*[]string)(unsafe.Pointer(&in.AdditionalSecrets))
	out.RespondWithChallenges = in.RespondWithChallenges
	out.RedirectURIs = *(*[]string)(unsafe.Pointer(&in.RedirectURIs))
	out.GrantMethod = api.GrantHandlerType(in.GrantMethod)
	out.ScopeRestrictions = *(*[]api.ScopeRestriction)(unsafe.Pointer(&in.ScopeRestrictions))
	return nil
}
開發者ID:xgwang-zte,項目名稱:origin,代碼行數:12,代碼來源:zz_generated.conversion.go

示例3: ensureOAuthClient

func ensureOAuthClient(client oauthapi.OAuthClient, clientRegistry clientregistry.Registry, preserveExistingRedirects bool) error {
	ctx := kapi.NewContext()
	_, err := clientRegistry.CreateClient(ctx, &client)
	if err == nil || !kerrs.IsAlreadyExists(err) {
		return err
	}

	return unversioned.RetryOnConflict(unversioned.DefaultRetry, func() error {
		existing, err := clientRegistry.GetClient(ctx, client.Name)
		if err != nil {
			return err
		}

		// Ensure the correct challenge setting
		existing.RespondWithChallenges = client.RespondWithChallenges
		// Preserve an existing client secret
		if len(existing.Secret) == 0 {
			existing.Secret = client.Secret
		}

		// Preserve redirects for clients other than the CLI client
		// The CLI client doesn't care about the redirect URL, just the token or error fragment
		if preserveExistingRedirects {
			// Add in any redirects from the existing one
			// This preserves any additional customized redirects in the default clients
			redirects := sets.NewString(client.RedirectURIs...)
			for _, redirect := range existing.RedirectURIs {
				if !redirects.Has(redirect) {
					client.RedirectURIs = append(client.RedirectURIs, redirect)
					redirects.Insert(redirect)
				}
			}
		}
		existing.RedirectURIs = client.RedirectURIs

		// If the GrantMethod is present, keep it for compatibility
		// If it is empty, assign the requested strategy.
		if len(existing.GrantMethod) == 0 {
			existing.GrantMethod = client.GrantMethod
		}

		_, err = clientRegistry.UpdateClient(ctx, existing)
		return err
	})
}
開發者ID:abhgupta,項目名稱:origin,代碼行數:45,代碼來源:auth.go


注:本文中的github.com/openshift/origin/pkg/oauth/api.OAuthClient類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。