mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-03-15 22:17:59 -04:00
The "real" access token will be stored using the short token as key. This short token will be sent to the clients to be used as access token for the WOPI server. This is configurable, and requires a store in order to keep the tokens.
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package grpc
|
|
|
|
import (
|
|
appproviderv1beta1 "github.com/cs3org/go-cs3apis/cs3/app/provider/v1beta1"
|
|
"github.com/owncloud/ocis/v2/ocis-pkg/tracing"
|
|
svc "github.com/owncloud/ocis/v2/services/collaboration/pkg/service/grpc/v0"
|
|
"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
// Server initializes a new grpc service ready to run
|
|
// THIS SERVICE IS REGISTERED AGAINST REVA, NOT GO-MICRO
|
|
func Server(opts ...Option) (*grpc.Server, func(), error) {
|
|
options := newOptions(opts...)
|
|
|
|
grpcOpts := []grpc.ServerOption{
|
|
grpc.StatsHandler(
|
|
otelgrpc.NewServerHandler(
|
|
otelgrpc.WithTracerProvider(options.TraceProvider),
|
|
otelgrpc.WithPropagators(tracing.GetPropagator()),
|
|
),
|
|
),
|
|
}
|
|
grpcServer := grpc.NewServer(grpcOpts...)
|
|
|
|
handle, teardown, err := svc.NewHandler(
|
|
svc.Config(options.Config),
|
|
svc.Logger(options.Logger),
|
|
svc.AppURLs(options.AppURLs),
|
|
svc.Store(options.Store),
|
|
)
|
|
if err != nil {
|
|
options.Logger.Error().
|
|
Err(err).
|
|
Msg("Error initializing collaboration service")
|
|
return grpcServer, teardown, err
|
|
}
|
|
|
|
// register the app provider interface / OpenInApp call
|
|
appproviderv1beta1.RegisterProviderAPIServer(grpcServer, handle)
|
|
|
|
return grpcServer, teardown, nil
|
|
}
|