本文整理匯總了Golang中github.com/app-kit/go-appkit.User.SetIsEmailConfirmed方法的典型用法代碼示例。如果您正苦於以下問題:Golang User.SetIsEmailConfirmed方法的具體用法?Golang User.SetIsEmailConfirmed怎麽用?Golang User.SetIsEmailConfirmed使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/app-kit/go-appkit.User
的用法示例。
在下文中一共展示了User.SetIsEmailConfirmed方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: RegisterUser
func (a *AuthAdaptorOauth) RegisterUser(user kit.User, data map[string]interface{}) (kit.AuthItem, apperror.Error) {
serviceName, _ := GetStringFromMap(data, "service")
if serviceName == "" {
return nil, apperror.New("invalid_data_missing_service")
}
service := a.services[serviceName]
if service == nil {
return nil, &apperror.Err{
Code: "unconfigured_service",
Message: fmt.Sprintf("The oauth service '%v' was not configured in oauth auth adaptor", serviceName),
}
}
accessToken, _ := GetStringFromMap(data, "access_token")
if accessToken == "" {
return nil, apperror.New("invalid_data_missing_access_token")
}
// Exchange access token for long lived token.
// This also verifies that the supplied token is valid.
appToken, err := service.Exchange(accessToken)
if err != nil {
return nil, apperror.Wrap(err, "oauth_exchange_token_error", "")
}
userData, err := service.GetUserData(appToken)
if err != nil {
return nil, apperror.Wrap(err, "fetch_user_data_failed", "")
}
if userData.Id == "" {
return nil, &apperror.Err{
Code: "fetched_userdata_missing_user_id",
Message: "The userData fetched from the service does not contain a userId",
}
}
item := &AuthItemOauth{
Service: serviceName,
UserId: user.GetStrId(),
ExternalUserId: userData.Id,
Token: appToken,
}
item.Id = serviceName + "_" + userData.Id
// Fill in user information.
if user.GetEmail() == "" {
if userData.Email != "" {
user.SetEmail(userData.Email)
user.SetIsEmailConfirmed(true)
} else {
return nil, &apperror.Err{
Code: "oauth_service_insufficient_data_error",
Message: fmt.Sprintf("The oauth service %v did not supply the users email, which is required", serviceName),
}
}
}
if user.GetUsername() == "" && userData.Username != "" {
user.SetUsername(userData.Username)
}
return item, nil
}