本文整理汇总了Golang中github.com/xtraclabs/roll/roll.Core.SystemRetrieveApplication方法的典型用法代码示例。如果您正苦于以下问题:Golang Core.SystemRetrieveApplication方法的具体用法?Golang Core.SystemRetrieveApplication怎么用?Golang Core.SystemRetrieveApplication使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/xtraclabs/roll/roll.Core
的用法示例。
在下文中一共展示了Core.SystemRetrieveApplication方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: handleGetPublicKey
func handleGetPublicKey(core *roll.Core, w http.ResponseWriter, r *http.Request) {
//Extract client id
clientID := strings.TrimPrefix(r.RequestURI, JWTFlowCertsURI)
if clientID == "" {
respondError(w, http.StatusBadRequest, errors.New("Resource not specified"))
return
}
log.Info("retrieve public key for application: ", clientID)
//Retrieve the app definition. Note that here since we are only returning publically
//available information, we do not have to apply the data security model
app, err := core.SystemRetrieveApplication(clientID)
if err != nil {
log.Info("error retrieving application")
respondError(w, http.StatusInternalServerError, errReadingApplicationRecord)
return
}
if app == nil {
log.Info("application not found")
respondError(w, http.StatusNotFound, nil)
return
}
pk := publicKeyCtx{
PublicKey: app.JWTFlowPublicKey,
}
respondOk(w, &pk)
}
示例2: lookupApplicationFromFormClientID
func lookupApplicationFromFormClientID(core *roll.Core, r *http.Request) (*roll.Application, error) {
app, err := core.SystemRetrieveApplication(r.Form["client_id"][0])
if err != nil {
return nil, err
}
if app == nil {
return nil, errors.New("Invalid client id")
}
return app, nil
}
示例3: lookupApplication
func lookupApplication(core *roll.Core, clientID string) (*roll.Application, error) {
app, err := core.SystemRetrieveApplication(clientID)
if err != nil {
log.Info("Error retrieving app data: ", err.Error())
return nil, ErrRetrievingAppData
}
if app == nil {
log.Info("Invalid client id: ", clientID)
return nil, errors.New("Invalid client id")
}
return app, nil
}
示例4: validateClientSecret
func validateClientSecret(core *roll.Core, r *http.Request, clientID, clientSecret string) (*roll.Application, error) {
app, err := core.SystemRetrieveApplication(clientID)
if err != nil {
return nil, errReadingApplicationRecord
}
if app == nil {
return nil, errApplicationNotFound
}
if clientSecret != app.ClientSecret {
return nil, errInvalidClientSecret
}
return app, nil
}
示例5: validateInputParams
func validateInputParams(core *roll.Core, r *http.Request) (*roll.Application, error) {
responseType := r.FormValue("response_type")
if responseType != "token" && responseType != "code" {
return nil, errors.New("response_type must be code or token")
}
//Client id is application key
clientID := r.FormValue("client_id")
app, err := core.SystemRetrieveApplication(clientID)
if err != nil {
return nil, err
}
if app == nil {
return nil, errors.New("Invalid client id")
}
redirectURI := r.FormValue("redirect_uri")
if app.RedirectURI != redirectURI {
return nil, errors.New("redirect_uri does not match registered redirect URIs")
}
return app, nil
}