public async Task GetToken(RequestContext <IScenePeerClient> ctx) { var client = await _accessor.GetApplicationClient(); var user = await _sessions.GetUser(ctx.RemotePeer); var sceneId = ctx.ReadObject <string>(); _logger.Log(LogLevel.Debug, "authorization", $"Authorizing access to scene '{sceneId}'", new { sceneId, user.Id }); var token = await client.CreateConnectionToken(sceneId, new byte[0], "application/octet-stream"); ctx.SendValue(token); }
public async Task GetToken(RequestContext <IScenePeerClient> ctx) { var client = await _accessor.GetApplicationClient(); var user = await _sessions.GetUser(ctx.RemotePeer); if (user == null) { throw new ClientException("userDisconnected"); } var sceneId = ctx.ReadObject <string>(); var token = await client.CreateConnectionToken(sceneId, new byte[0], "application/octet-stream"); await ctx.SendValue(token); }
public async Task GetToken(RequestContext <IScenePeerClient> ctx) { _logger.Log(LogLevel.Trace, "authorization", "Receiving a token request to access a scene", new { }); var client = await _accessor.GetApplicationClient(); var user = await _sessions.GetUser(ctx.RemotePeer); if (user == null) { throw new ClientException("Client is not logged in."); } var sceneId = ctx.ReadObject <string>(); _logger.Log(LogLevel.Debug, "authorization", $"Authorizing access to scene '{sceneId}'", new { sceneId, user.Id }); var token = await client.CreateConnectionToken(sceneId, new byte[0], "application/octet-stream"); ctx.SendValue(token); }