Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

People tracking is not compatible with RollbarMiddleware #651

Open
srmagura opened this issue Mar 19, 2024 · 3 comments
Open

People tracking is not compatible with RollbarMiddleware #651

srmagura opened this issue Mar 19, 2024 · 3 comments

Comments

@srmagura
Copy link

Describe the bug
I would like to use the People Tracking feature of Rollbar with the RollbarMiddleware in ASP.NET Core.

The problem is, there does not seem to be any way to tell the RollbarMiddleware who the current user is.

To Reproduce
N/A

Expected behavior

When using an IRollbar instance directly, I can provide information about the current user like this:

var payloadAdditionOptions = new RollbarPayloadAdditionOptions();

if (_auth.CurrentUser != null)
{
    payloadAdditionOptions.Person = new Person()
    {
        Id = _auth.CurrentUser.Id.Value.ToString(),
        Email = _auth.CurrentUser.Email.Value,
        UserName = _auth.CurrentUser.Name?.ToString(),
    };
}

_rollbar.Config.RollbarPayloadAdditionOptions.Reconfigure(payloadAdditionOptions);

Here, _auth is an "auth context" that provides information about the current user by reading their claims (auth cookie).

I would like to be able to do something similar using RollbarMiddleware.

Rollbar Client - Rollbar.NET Hosting Environment (please complete the following information):

  • Rollbar.NET Host type: ASP.NET Core
  • OS and its version: Windows 11
  • .NET flavor and its version: .NET 8
  • Application framework and its version: ASP.NET Core
  • Rollbar.NET Version: 5.2.0
  • Applicable Rollbar Plug-in (if any):
  • Applicable custom third party logging library/framework integration (if any):
  • Applicable Browser (if any):

Additional context
I know I can copy the RollbarMiddleware source code into my code to fix this, but ideally that would not be necessary.

@AntMaster7
Copy link

Looking for the same feature. I wrote the Rollbar support. But it appears that Rollbar.NET is dead. There has basically not been any update for more than 2 years. And we pay a lot of money for Rollbar.

@TheDevFactory
Copy link
Member

You can use the transform function to update the payload just before it is sent to Rollbar and add the Person data to the payload that is about to be sent to Rollbar without affecting other requests. Since you are modifying the payload each time.

You will need to add some extra code to do this but I am thinking you have a function that is called each time by the Rollbar transform option and it just updates the Person data in the payload from your auth holder (whatever that maybe).

@srmagura
Copy link
Author

I worked around this limitation by implementing my Rollbar middleware, based on the official one: https://github.com/rollbar/Rollbar.NET/blob/master/Rollbar.NetCore.AspNet/RollbarMiddleware.cs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants