我正在尝试创建一个应用程序,让用户可以管理他们的Azure资源(如SQL数据库、存储)。我该如何授权用户而不需要他们的客户端ID和客户端密钥?
我已经查看了他们的文档:https://godoc.org/github.com/Azure/go-autorest/autorest/azure/auth,然而所有这些都需要环境变量和/或客户端ID/客户端密钥。是否有一种方法,用户可以提供用户名/密码,我就能获得一个授权者呢?
我已经查看了他们的文档:https://godoc.org/github.com/Azure/go-autorest/autorest/azure/auth,然而所有这些都需要环境变量和/或客户端ID/客户端密钥。是否有一种方法,用户可以提供用户名/密码,我就能获得一个授权者呢?
type Client struct {
ServersClient postgresql.ServersClient
}
func NewCloudClient() *Client {
return &Client{}
}
func (c *Client) Init(config map[string]string) error {
var (
subscriptionID = config["subscriptionID"]
// tenantID = config["tenantID"]
// clientID = config["clientID"]
// clientSecret = config["clientSecret"]
// resourceGroup = config["resourceGroup"]
)
// oauthConfig, err := adal.NewOAuthConfig(azure.PublicCloud.ActiveDirectoryEndpoint, tenantID)
// if err != nil {
// return errors.Wrap(err, "error getting OAuthConfig")
// }
// spt, err := adal.NewServicePrincipalToken(*oauthConfig, clientID, clientSecret, resourceGroup)
serversClient := postgresql.NewServersClient(subscriptionID)
//serversClient.BaseClient.Authorizer = autorest.NewBearerAuthorizer(spt)
c.ServersClient = serversClient
return nil
}