Files
threshold/internal/proto/controller/api/resources/authtokens/v1/authtoken.proto
T
Aditya SharmaandJohan Brandhorst-Satzkorn 30e3116156 Add parsing logic for User-Agent headers (#5645)
* feat(ts_telemetry): add parsing logic for user agent headers

* feat(ts_telemetry): update gRPC observability for user-agent headers

* feat(ts_telemetry): add observation tags

* feat(ts_telemetry): Resolved comments

* feat(ts_telemetry): Removed loop variable capture

* feat(ts_telemetry): Updated userAgentKey to be inline

* feat(ts_telemetry): Add support for userAgent as per RFC 9110

* feat(ts_telemetry): Resolved comments

* Fix newline

* feat(ts_telemetry): Moved user-agent parsing to interceptor

* feat(ts_telemetry): Added user-agent parsing complex test case

* Update userAgentsKey comment

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>

* feat(ts_telemetry): Updated changelog

* feat(ts_telemetry): Resolved comments

---------

Co-authored-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
2025-04-17 23:46:25 +05:30

51 lines
2.3 KiB
Protocol Buffer

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: MPL-2.0
syntax = "proto3";
package controller.api.resources.authtokens.v1;
import "controller/api/resources/scopes/v1/scope.proto";
import "google/protobuf/timestamp.proto";
option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/authtokens;authtokens";
// AuthToken contains all fields related to an Auth Token resource
message AuthToken {
// Output only. The ID of the Auth Token.
string id = 10; // @gotags: `class:"public" eventstream:"observation"`
// The Scope in which this Auth Token was generated.
string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public"`
// Output only. Scope information for this resource.
resources.scopes.v1.ScopeInfo scope = 30;
// Output only. The token value, which will only be populated after authentication and is only ever visible to the end user whose login request resulted in this Auth Token being created.
string token = 40; // @gotags: `class:"secret"`
// Output only. The ID of the User associated with this Auth Token.
string user_id = 50 [json_name = "user_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Auth Method associated with this Auth Token.
string auth_method_id = 60 [json_name = "auth_method_id"]; // @gotags: `class:"public"`
// Output only. The ID of the Account associated with this Auth Token.
string account_id = 70 [json_name = "account_id"]; // @gotags: `class:"public"`
// Output only. The time this resource was created.
google.protobuf.Timestamp created_time = 80 [json_name = "created_time"]; // @gotags: `class:"public"`
// Output only. The time this resource was last updated.
google.protobuf.Timestamp updated_time = 90 [json_name = "updated_time"]; // @gotags: `class:"public"`
// Output only. The approximate time this Auth Token was last used.
google.protobuf.Timestamp approximate_last_used_time = 100 [json_name = "approximate_last_used_time"]; // @gotags: `class:"public"`
// Output only. The time this Auth Token expires.
google.protobuf.Timestamp expiration_time = 110 [json_name = "expiration_time"]; // @gotags: `class:"public"`
// Output only. The available actions on this resource for this user.
repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"`
}