fix: avoid direct access to proto fields

This commit is contained in:
Juan Pablo Villafáñez
2024-03-22 11:01:40 +01:00
parent 01d3e84d79
commit c163e668c9
4 changed files with 114 additions and 114 deletions

View File

@@ -51,12 +51,12 @@ func (c *ContentConnector) GetFile(ctx context.Context, writer io.Writer) error
return err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("GetFile: InitiateFileDownload failed with wrong status")
return NewConnectorError(500, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return NewConnectorError(500, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
// Figure out the download endpoint and download token
@@ -64,11 +64,11 @@ func (c *ContentConnector) GetFile(ctx context.Context, writer io.Writer) error
downloadToken := ""
hasDownloadToken := false
for _, proto := range resp.Protocols {
if proto.Protocol == "simple" || proto.Protocol == "spaces" {
downloadEndpoint = proto.DownloadEndpoint
downloadToken = proto.Token
hasDownloadToken = proto.Token != ""
for _, proto := range resp.GetProtocols() {
if proto.GetProtocol() == "simple" || proto.GetProtocol() == "spaces" {
downloadEndpoint = proto.GetDownloadEndpoint()
downloadToken = proto.GetToken()
hasDownloadToken = proto.GetToken() != ""
break
}
}
@@ -160,28 +160,28 @@ func (c *ContentConnector) PutFile(ctx context.Context, stream io.Reader, stream
return "", err
}
if statRes.Status.Code != rpcv1beta1.Code_CODE_OK {
if statRes.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", statRes.Status.Code.String()).
Str("StatusMsg", statRes.Status.Message).
Str("StatusCode", statRes.GetStatus().GetCode().String()).
Str("StatusMsg", statRes.GetStatus().GetMessage()).
Msg("PutFile: stat failed with unexpected status")
return "", NewConnectorError(500, statRes.Status.GetCode().String()+" "+statRes.Status.GetMessage())
return "", NewConnectorError(500, statRes.GetStatus().GetCode().String()+" "+statRes.GetStatus().GetMessage())
}
// If there is a lock and it mismatches, return 409
if statRes.Info.Lock != nil && statRes.Info.Lock.LockId != lockID {
if statRes.GetInfo().GetLock() != nil && statRes.GetInfo().GetLock().GetLockId() != lockID {
logger.Error().
Str("LockID", statRes.Info.Lock.LockId).
Str("LockID", statRes.GetInfo().GetLock().GetLockId()).
Msg("PutFile: wrong lock")
// onlyoffice says it's required to send the current lockId, MS doesn't say anything
return statRes.Info.Lock.LockId, NewConnectorError(409, "Wrong lock")
return statRes.GetInfo().GetLock().GetLockId(), NewConnectorError(409, "Wrong lock")
}
// only unlocked uploads can go through if the target file is empty,
// otherwise the X-WOPI-Lock header is required even if there is no lock on the file
// This is part of the onlyoffice documentation (https://api.onlyoffice.com/editors/wopi/restapi/putfile)
// Wopivalidator fails some tests if we don't also check for the X-WOPI-Lock header.
if lockID == "" && statRes.Info.Lock == nil && statRes.Info.Size > 0 {
if lockID == "" && statRes.GetInfo().GetLock() == nil && statRes.GetInfo().GetSize() > 0 {
logger.Error().Msg("PutFile: file must be locked first")
// onlyoffice says to send an empty string if the file is unlocked, MS doesn't say anything
return "", NewConnectorError(409, "File must be locked first")
@@ -204,7 +204,7 @@ func (c *ContentConnector) PutFile(ctx context.Context, stream io.Reader, stream
Ref: &wopiContext.FileReference,
LockId: lockID,
Options: &providerv1beta1.InitiateFileUploadRequest_IfMatch{
IfMatch: statRes.Info.Etag,
IfMatch: statRes.GetInfo().GetEtag(),
},
}
@@ -215,12 +215,12 @@ func (c *ContentConnector) PutFile(ctx context.Context, stream io.Reader, stream
return "", err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("UploadHelper: InitiateFileUpload failed with wrong status")
return "", NewConnectorError(500, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return "", NewConnectorError(500, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
// if the content length is greater than 0, we need to upload the content to the
@@ -231,11 +231,11 @@ func (c *ContentConnector) PutFile(ctx context.Context, stream io.Reader, stream
uploadToken := ""
hasUploadToken := false
for _, proto := range resp.Protocols {
if proto.Protocol == "simple" || proto.Protocol == "spaces" {
uploadEndpoint = proto.UploadEndpoint
uploadToken = proto.Token
hasUploadToken = proto.Token != ""
for _, proto := range resp.GetProtocols() {
if proto.GetProtocol() == "simple" || proto.GetProtocol() == "spaces" {
uploadEndpoint = proto.GetUploadEndpoint()
uploadToken = proto.GetToken()
hasUploadToken = proto.GetToken() != ""
break
}
}

View File

@@ -56,17 +56,17 @@ func (f *FileConnector) GetLock(ctx context.Context) (string, error) {
return "", err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", resp.Status.GetCode().String()).
Str("StatusMsg", resp.Status.GetMessage()).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("GetLock failed with unexpected status")
return "", NewConnectorError(404, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return "", NewConnectorError(404, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
lockID := ""
if resp.Lock != nil {
lockID = resp.Lock.LockId
if resp.GetLock() != nil {
lockID = resp.GetLock().GetLockId()
}
// log the success at debug level
@@ -116,7 +116,7 @@ func (f *FileConnector) Lock(ctx context.Context, lockID, oldLockID string) (str
logger.Error().Err(err).Msg("SetLock failed")
return "", err
}
setOrRefreshStatus = resp.Status
setOrRefreshStatus = resp.GetStatus()
} else {
// If the oldLockID isn't empty, this is a "UnlockAndRelock" request. We'll
// do a "RefreshLock" in reva and provide the old lock
@@ -138,11 +138,11 @@ func (f *FileConnector) Lock(ctx context.Context, lockID, oldLockID string) (str
logger.Error().Err(err).Msg("UnlockAndRefresh failed")
return "", err
}
setOrRefreshStatus = resp.Status
setOrRefreshStatus = resp.GetStatus()
}
// we're checking the status of either the "SetLock" or "RefreshLock" operations
switch setOrRefreshStatus.Code {
switch setOrRefreshStatus.GetCode() {
case rpcv1beta1.Code_CODE_OK:
logger.Debug().Msg("SetLock successful")
return "", nil
@@ -162,20 +162,20 @@ func (f *FileConnector) Lock(ctx context.Context, lockID, oldLockID string) (str
return "", err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("SetLock failed, fallback to GetLock failed with unexpected status")
}
if resp.Lock != nil {
if resp.Lock.LockId != lockID {
if resp.GetLock() != nil {
if resp.GetLock().GetLockId() != lockID {
// lockId is different -> return 409 with the current lockId
logger.Warn().
Str("LockID", resp.Lock.LockId).
Str("LockID", resp.GetLock().GetLockId()).
Msg("SetLock conflict")
return resp.Lock.LockId, NewConnectorError(409, "Lock conflict")
return resp.GetLock().GetLockId(), NewConnectorError(409, "Lock conflict")
}
// TODO: according to the spec we need to treat this as a RefreshLock
@@ -184,9 +184,9 @@ func (f *FileConnector) Lock(ctx context.Context, lockID, oldLockID string) (str
// Since the lockId matches now, we'll assume success for now.
// As said in the todo, we probably should send a "RefreshLock" request here.
logger.Warn().
Str("LockID", resp.Lock.LockId).
Str("LockID", resp.GetLock().GetLockId()).
Msg("SetLock lock refreshed instead")
return resp.Lock.LockId, nil
return resp.GetLock().GetLockId(), nil
}
// TODO: Is this the right error code?
@@ -195,8 +195,8 @@ func (f *FileConnector) Lock(ctx context.Context, lockID, oldLockID string) (str
default:
logger.Error().
Str("StatusCode", setOrRefreshStatus.Code.String()).
Str("StatusMsg", setOrRefreshStatus.Message).
Str("StatusCode", setOrRefreshStatus.GetCode().String()).
Str("StatusMsg", setOrRefreshStatus.GetMessage()).
Msg("SetLock failed with unexpected status")
return "", NewConnectorError(500, setOrRefreshStatus.GetCode().String()+" "+setOrRefreshStatus.GetMessage())
}
@@ -237,22 +237,22 @@ func (f *FileConnector) RefreshLock(ctx context.Context, lockID string) (string,
return "", err
}
switch resp.Status.Code {
switch resp.GetStatus().GetCode() {
case rpcv1beta1.Code_CODE_OK:
logger.Debug().Msg("RefreshLock successful")
return "", nil
case rpcv1beta1.Code_CODE_NOT_FOUND:
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("RefreshLock failed, file reference not found")
return "", NewConnectorError(404, "File reference not found")
case rpcv1beta1.Code_CODE_ABORTED:
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("RefreshLock failed, lock mismatch")
// Either the file is unlocked or there is no lock
@@ -267,35 +267,35 @@ func (f *FileConnector) RefreshLock(ctx context.Context, lockID string) (string,
return "", err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("RefreshLock failed, tried to get the current lock failed with unexpected status")
return "", NewConnectorError(500, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return "", NewConnectorError(500, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
if resp.Lock == nil {
if resp.GetLock() == nil {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("RefreshLock failed, no lock on file")
return "", NewConnectorError(409, "No lock on file")
} else {
// lock is different than the one requested, otherwise we wouldn't reached this point
logger.Error().
Str("LockID", resp.Lock.LockId).
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("LockID", resp.GetLock().GetLockId()).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("RefreshLock failed, lock mismatch")
return resp.Lock.LockId, NewConnectorError(409, "Lock mismatch")
return resp.GetLock().GetLockId(), NewConnectorError(409, "Lock mismatch")
}
default:
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("RefreshLock failed with unexpected status")
return "", NewConnectorError(500, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return "", NewConnectorError(500, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
}
@@ -330,7 +330,7 @@ func (f *FileConnector) UnLock(ctx context.Context, lockID string) (string, erro
return "", err
}
switch resp.Status.Code {
switch resp.GetStatus().GetCode() {
case rpcv1beta1.Code_CODE_OK:
logger.Debug().Msg("Unlock successful")
return "", nil
@@ -350,37 +350,37 @@ func (f *FileConnector) UnLock(ctx context.Context, lockID string) (string, erro
return "", err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("Unlock failed, tried to get the current lock failed with unexpected status")
return "", NewConnectorError(500, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return "", NewConnectorError(500, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
var outLockId string
if resp.Lock == nil {
if resp.GetLock() == nil {
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("Unlock failed, no lock on file")
outLockId = ""
} else {
// lock is different than the one requested, otherwise we wouldn't reached this point
logger.Error().
Str("LockID", resp.Lock.LockId).
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("LockID", resp.GetLock().GetLockId()).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("Unlock failed, lock mismatch")
outLockId = resp.Lock.LockId
outLockId = resp.GetLock().GetLockId()
}
return outLockId, NewConnectorError(409, "Lock mismatch")
default:
logger.Error().
Str("StatusCode", resp.Status.Code.String()).
Str("StatusMsg", resp.Status.Message).
Str("StatusCode", resp.GetStatus().GetCode().String()).
Str("StatusMsg", resp.GetStatus().GetMessage()).
Msg("Unlock failed with unexpected status")
return "", NewConnectorError(500, resp.Status.GetCode().String()+" "+resp.Status.GetMessage())
return "", NewConnectorError(500, resp.GetStatus().GetCode().String()+" "+resp.GetStatus().GetMessage())
}
}
@@ -402,21 +402,21 @@ func (f *FileConnector) CheckFileInfo(ctx context.Context) (FileInfo, error) {
return FileInfo{}, err
}
if statRes.Status.Code != rpcv1beta1.Code_CODE_OK {
if statRes.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().
Str("StatusCode", statRes.Status.Code.String()).
Str("StatusMsg", statRes.Status.Message).
Str("StatusCode", statRes.GetStatus().GetCode().String()).
Str("StatusMsg", statRes.GetStatus().GetMessage()).
Msg("CheckFileInfo: stat failed with unexpected status")
return FileInfo{}, NewConnectorError(500, statRes.Status.GetCode().String()+" "+statRes.Status.GetMessage())
return FileInfo{}, NewConnectorError(500, statRes.GetStatus().GetCode().String()+" "+statRes.GetStatus().GetMessage())
}
fileInfo := FileInfo{
// OwnerId must use only alphanumeric chars (https://learn.microsoft.com/en-us/microsoft-365/cloud-storage-partner-program/rest/files/checkfileinfo/checkfileinfo-response#requirements-for-user-identity-properties)
OwnerId: hex.EncodeToString([]byte(statRes.Info.Owner.OpaqueId + "@" + statRes.Info.Owner.Idp)),
Size: int64(statRes.Info.Size),
Version: statRes.Info.Mtime.String(),
BaseFileName: path.Base(statRes.Info.Path),
BreadcrumbDocName: path.Base(statRes.Info.Path),
OwnerId: hex.EncodeToString([]byte(statRes.GetInfo().GetOwner().GetOpaqueId() + "@" + statRes.GetInfo().GetOwner().GetIdp())),
Size: int64(statRes.GetInfo().GetSize()),
Version: statRes.GetInfo().GetMtime().String(),
BaseFileName: path.Base(statRes.GetInfo().GetPath()),
BreadcrumbDocName: path.Base(statRes.GetInfo().GetPath()),
// to get the folder we actually need to do a GetPath() request
//BreadcrumbFolderName: path.Dir(statRes.Info.Path),
@@ -452,20 +452,20 @@ func (f *FileConnector) CheckFileInfo(ctx context.Context) (FileInfo, error) {
var isPublicShare bool = false
if wopiContext.User != nil {
// UserId must use only alphanumeric chars (https://learn.microsoft.com/en-us/microsoft-365/cloud-storage-partner-program/rest/files/checkfileinfo/checkfileinfo-response#requirements-for-user-identity-properties)
if wopiContext.User.Id.Type == userv1beta1.UserType_USER_TYPE_LIGHTWEIGHT {
fileInfo.UserId = hex.EncodeToString([]byte(statRes.Info.Owner.OpaqueId + "@" + statRes.Info.Owner.Idp))
if wopiContext.User.GetId().GetType() == userv1beta1.UserType_USER_TYPE_LIGHTWEIGHT {
fileInfo.UserId = hex.EncodeToString([]byte(statRes.GetInfo().GetOwner().GetOpaqueId() + "@" + statRes.GetInfo().GetOwner().GetIdp()))
} else {
fileInfo.UserId = hex.EncodeToString([]byte(wopiContext.User.Id.OpaqueId + "@" + wopiContext.User.Id.Idp))
fileInfo.UserId = hex.EncodeToString([]byte(wopiContext.User.GetId().GetOpaqueId() + "@" + wopiContext.User.GetId().GetIdp()))
}
if wopiContext.User.Opaque != nil {
if _, ok := wopiContext.User.Opaque.Map["public-share-role"]; ok {
if wopiContext.User.GetOpaque() != nil {
if _, ok := wopiContext.User.GetOpaque().GetMap()["public-share-role"]; ok {
isPublicShare = true
}
}
if !isPublicShare {
fileInfo.UserFriendlyName = wopiContext.User.Username
fileInfo.UserId = hex.EncodeToString([]byte(wopiContext.User.Id.OpaqueId + "@" + wopiContext.User.Id.Idp))
fileInfo.UserFriendlyName = wopiContext.User.GetUsername()
fileInfo.UserId = hex.EncodeToString([]byte(wopiContext.User.GetId().GetOpaqueId() + "@" + wopiContext.User.GetId().GetIdp()))
}
}
if wopiContext.User == nil || isPublicShare {

View File

@@ -64,8 +64,8 @@ func RegisterAppProvider(
return err
}
if resp.Status.Code != rpcv1beta1.Code_CODE_OK {
logger.Error().Str("status_code", resp.Status.Code.String()).Msg("AddAppProvider failed")
if resp.GetStatus().GetCode() != rpcv1beta1.Code_CODE_OK {
logger.Error().Str("status_code", resp.GetStatus().GetCode().String()).Msg("AddAppProvider failed")
return errors.New("status code != CODE_OK")
}

View File

@@ -56,12 +56,12 @@ func (s *Service) OpenInApp(
// get the current user
var user *userv1beta1.User = nil
meReq := &gatewayv1beta1.WhoAmIRequest{
Token: req.AccessToken,
Token: req.GetAccessToken(),
}
meResp, err := s.gwc.WhoAmI(ctx, meReq)
if err == nil {
if meResp.Status.Code == rpcv1beta1.Code_CODE_OK {
user = meResp.User
if meResp.GetStatus().GetCode() == rpcv1beta1.Code_CODE_OK {
user = meResp.GetUser()
}
}
@@ -75,11 +75,11 @@ func (s *Service) OpenInApp(
// so that all sessions on one file end on the same office server
c := sha256.New()
c.Write([]byte(req.ResourceInfo.Id.StorageId + "$" + req.ResourceInfo.Id.SpaceId + "!" + req.ResourceInfo.Id.OpaqueId))
c.Write([]byte(req.GetResourceInfo().GetId().GetStorageId() + "$" + req.GetResourceInfo().GetId().GetSpaceId() + "!" + req.GetResourceInfo().GetId().GetOpaqueId()))
fileRef := hex.EncodeToString(c.Sum(nil))
// get the file extension to use the right wopi app url
fileExt := path.Ext(req.GetResourceInfo().Path)
fileExt := path.Ext(req.GetResourceInfo().GetPath())
var viewAppURL string
var editAppURL string
@@ -127,7 +127,7 @@ func (s *Service) OpenInApp(
s.logger.Error().
Err(err).
Str("FileReference", providerFileRef.String()).
Str("ViewMode", req.ViewMode.String()).
Str("ViewMode", req.GetViewMode().String()).
Str("Requester", user.GetId().String()).
Msg("OpenInApp: error parsing viewAppUrl")
return nil, err
@@ -137,23 +137,23 @@ func (s *Service) OpenInApp(
s.logger.Error().
Err(err).
Str("FileReference", providerFileRef.String()).
Str("ViewMode", req.ViewMode.String()).
Str("ViewMode", req.GetViewMode().String()).
Str("Requester", user.GetId().String()).
Msg("OpenInApp: error parsing editAppUrl")
return nil, err
}
appURL := viewAppURL
if req.ViewMode == appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE {
if req.GetViewMode() == appproviderv1beta1.ViewMode_VIEW_MODE_READ_WRITE {
appURL = editAppURL
}
cryptedReqAccessToken, err := middleware.EncryptAES([]byte(s.config.JWTSecret), req.AccessToken)
cryptedReqAccessToken, err := middleware.EncryptAES([]byte(s.config.JWTSecret), req.GetAccessToken())
if err != nil {
s.logger.Error().
Err(err).
Str("FileReference", providerFileRef.String()).
Str("ViewMode", req.ViewMode.String()).
Str("ViewMode", req.GetViewMode().String()).
Str("Requester", user.GetId().String()).
Msg("OpenInApp: error encrypting access token")
return &appproviderv1beta1.OpenInAppResponse{
@@ -165,19 +165,19 @@ func (s *Service) OpenInApp(
AccessToken: cryptedReqAccessToken,
FileReference: providerFileRef,
User: user,
ViewMode: req.ViewMode,
ViewMode: req.GetViewMode(),
EditAppUrl: editAppURL,
ViewAppUrl: viewAppURL,
}
cs3Claims := &jwt.RegisteredClaims{}
cs3JWTparser := jwt.Parser{}
_, _, err = cs3JWTparser.ParseUnverified(req.AccessToken, cs3Claims)
_, _, err = cs3JWTparser.ParseUnverified(req.GetAccessToken(), cs3Claims)
if err != nil {
s.logger.Error().
Err(err).
Str("FileReference", providerFileRef.String()).
Str("ViewMode", req.ViewMode.String()).
Str("ViewMode", req.GetViewMode().String()).
Str("Requester", user.GetId().String()).
Msg("OpenInApp: error parsing JWT token")
return nil, err
@@ -197,7 +197,7 @@ func (s *Service) OpenInApp(
s.logger.Error().
Err(err).
Str("FileReference", providerFileRef.String()).
Str("ViewMode", req.ViewMode.String()).
Str("ViewMode", req.GetViewMode().String()).
Str("Requester", user.GetId().String()).
Msg("OpenInApp: error signing access token")
return &appproviderv1beta1.OpenInAppResponse{
@@ -207,7 +207,7 @@ func (s *Service) OpenInApp(
s.logger.Debug().
Str("FileReference", providerFileRef.String()).
Str("ViewMode", req.ViewMode.String()).
Str("ViewMode", req.GetViewMode().String()).
Str("Requester", user.GetId().String()).
Msg("OpenInApp: success")