Skip to content

Commit 5762473

Browse files
Merge master into feature/smus
2 parents 43dc98f + 4078a43 commit 5762473

File tree

3 files changed

+32
-5
lines changed

3 files changed

+32
-5
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"scan-licenses": "ts-node ./scripts/scan-licenses.ts"
4343
},
4444
"devDependencies": {
45-
"@aws-toolkits/telemetry": "^1.0.329",
45+
"@aws-toolkits/telemetry": "^1.0.338",
4646
"@playwright/browser-chromium": "^1.43.1",
4747
"@stylistic/eslint-plugin": "^2.11.0",
4848
"@types/he": "^1.2.3",

packages/core/src/auth/sso/clients.ts

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ import { AuthenticationFlow } from './model'
3636
import { toSnakeCase } from '../../shared/utilities/textUtilities'
3737
import { getUserAgent, withTelemetryContext } from '../../shared/telemetry/util'
3838
import { oneSecond } from '../../shared/datetime'
39+
import { telemetry } from '../../shared/telemetry/telemetry'
40+
import { getTelemetryReason, getTelemetryReasonDesc, getHttpStatusCode } from '../../shared/errors'
3941

4042
export class OidcClient {
4143
public constructor(
@@ -86,15 +88,40 @@ export class OidcClient {
8688
}
8789

8890
public async createToken(request: CreateTokenRequest) {
91+
const startTime = this.clock.Date.now()
92+
const grantType = request.grantType
93+
8994
let response
9095
try {
9196
response = await this.client.createToken(request as CreateTokenRequest)
9297
} catch (err) {
98+
const statusCode = getHttpStatusCode(err)
99+
telemetry.auth_ssoTokenOperation.emit({
100+
result: 'Failed',
101+
grantType: grantType ?? 'unknown',
102+
duration: this.clock.Date.now() - startTime,
103+
reason: getTelemetryReason(err),
104+
reasonDesc: getTelemetryReasonDesc(err),
105+
...(statusCode !== undefined ? { httpStatusCode: String(statusCode) } : {}),
106+
})
107+
108+
getLogger().error(`sso-oidc: createToken failed (grantType=${grantType}): ${err}`)
109+
93110
const newError = AwsClientResponseError.instanceIf(err)
94111
throw newError
95112
}
96113
assertHasProps(response, 'accessToken', 'expiresIn')
97114

115+
telemetry.auth_ssoTokenOperation.emit({
116+
result: 'Succeeded',
117+
grantType: grantType ?? 'unknown',
118+
duration: this.clock.Date.now() - startTime,
119+
})
120+
121+
getLogger().debug(
122+
`sso-oidc: createToken succeeded (grantType=${grantType}, requestId=${response.$metadata.requestId})`
123+
)
124+
98125
return {
99126
...selectFrom(response, 'accessToken', 'refreshToken', 'tokenType'),
100127
requestId: response.$metadata.requestId,

0 commit comments

Comments
 (0)