本文整理匯總了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
}