本文整理汇总了Golang中github.com/ory-am/fosite.AuthorizeRequester.GetScopes方法的典型用法代码示例。如果您正苦于以下问题:Golang AuthorizeRequester.GetScopes方法的具体用法?Golang AuthorizeRequester.GetScopes怎么用?Golang AuthorizeRequester.GetScopes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/ory-am/fosite.AuthorizeRequester
的用法示例。
在下文中一共展示了AuthorizeRequester.GetScopes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: IssueChallenge
func (s *DefaultConsentStrategy) IssueChallenge(authorizeRequest fosite.AuthorizeRequester, redirectURL string) (string, error) {
token := jwt.New(jwt.SigningMethodRS256)
token.Claims = map[string]interface{}{
"jti": uuid.New(),
"scp": authorizeRequest.GetScopes(),
"aud": authorizeRequest.GetClient().GetID(),
"exp": time.Now().Add(time.Hour).Unix(),
"redir": redirectURL,
}
ks, err := s.KeyManager.GetKey(ConsentChallengeKey, "private")
if err != nil {
return "", errors.New(err)
}
rsaKey, ok := jwk.First(ks.Keys).Key.(*rsa.PrivateKey)
if !ok {
return "", errors.New("Could not convert to RSA Private Key")
}
var signature, encoded string
if encoded, err = token.SigningString(); err != nil {
return "", errors.New(err)
} else if signature, err = token.Method.Sign(encoded, rsaKey); err != nil {
return "", errors.New(err)
}
return fmt.Sprintf("%s.%s", encoded, signature), nil
}