本文整理汇总了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
}
示例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
}
示例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
})
}