func (auth *CloudSampleAuth) KeyandSecretForURL(url string) (string, string) {
	return "", ""
}
KeyandSecretForURL is part of the Sync Service authentication interface.
It is not used by a cloud application with an embedded CSS.
package main
import (
	"net/http"
	"github.com/open-horizon/edge-sync-service/core/security"
)
type CredentialInfo struct {
	Username string `json:"username"`
	Secret   string `json:"secret"`
	OrgID    string `json:"orgID"`
	Type     string `json:"type"`
	code     int
}
type CloudSampleAuth struct {
	Credentials map[string]CredentialInfo `json:"credentials"`
}
func (auth *CloudSampleAuth) AddEdgeNode(key string, secret string, orgID string, destType string, destID string) {
	credInfo := CredentialInfo{destType+"/"+destID, secret, orgID, "EdgeNode", security.AuthEdgeNode}
	if auth.Credentials == nil {
		auth.Credentials = make(map[string]CredentialInfo)
	}
	auth.Credentials[key] = credInfo   
} 
func (auth *CloudSampleAuth) Start() {
	if auth.Credentials == nil {
		auth.Credentials = make(map[string]CredentialInfo)
	}
	return
}
func (auth *CloudSampleAuth) Authenticate(request *http.Request) (int, string, string) {
	appKey, appSecret, ok := request.BasicAuth()
	if !ok {
		return security.AuthFailed, "", ""
	}
	if info, ok := auth.Credentials[appKey]; ok && appSecret == info.Secret {
		return info.code, info.OrgID, info.Username
	}
	return security.AuthFailed, "", ""
}