@atproto/oauth-provider 0.2.17 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +22 -0
- package/dist/client/client-manager.d.ts.map +1 -1
- package/dist/client/client-manager.js +6 -8
- package/dist/client/client-manager.js.map +1 -1
- package/dist/device/device-data.d.ts +7 -8
- package/dist/device/device-data.d.ts.map +1 -1
- package/dist/device/device-data.js +3 -2
- package/dist/device/device-data.js.map +1 -1
- package/dist/device/device-manager.d.ts +104 -19
- package/dist/device/device-manager.d.ts.map +1 -1
- package/dist/device/device-manager.js +43 -30
- package/dist/device/device-manager.js.map +1 -1
- package/dist/lib/http/accept.d.ts +2 -1
- package/dist/lib/http/accept.d.ts.map +1 -1
- package/dist/lib/http/accept.js.map +1 -1
- package/dist/lib/http/method.d.ts +1 -1
- package/dist/lib/http/method.d.ts.map +1 -1
- package/dist/lib/http/request.d.ts +10 -1
- package/dist/lib/http/request.d.ts.map +1 -1
- package/dist/lib/http/request.js +38 -0
- package/dist/lib/http/request.js.map +1 -1
- package/dist/lib/http/response.d.ts +3 -2
- package/dist/lib/http/response.d.ts.map +1 -1
- package/dist/lib/http/response.js.map +1 -1
- package/dist/lib/http/route.d.ts +2 -1
- package/dist/lib/http/route.d.ts.map +1 -1
- package/dist/lib/http/route.js.map +1 -1
- package/dist/lib/http/router.d.ts +2 -1
- package/dist/lib/http/router.d.ts.map +1 -1
- package/dist/lib/http/router.js.map +1 -1
- package/dist/lib/http/stream.d.ts +1 -1
- package/dist/lib/http/stream.d.ts.map +1 -1
- package/dist/lib/http/types.d.ts +0 -1
- package/dist/lib/http/types.d.ts.map +1 -1
- package/dist/lib/util/function.d.ts +8 -0
- package/dist/lib/util/function.d.ts.map +1 -1
- package/dist/lib/util/function.js +1 -1
- package/dist/lib/util/function.js.map +1 -1
- package/dist/lib/util/time.d.ts +7 -1
- package/dist/lib/util/time.d.ts.map +1 -1
- package/dist/lib/util/time.js +23 -12
- package/dist/lib/util/time.js.map +1 -1
- package/dist/oauth-hooks.d.ts +56 -4
- package/dist/oauth-hooks.d.ts.map +1 -1
- package/dist/oauth-hooks.js +8 -0
- package/dist/oauth-hooks.js.map +1 -1
- package/dist/oauth-provider.d.ts +10 -7
- package/dist/oauth-provider.d.ts.map +1 -1
- package/dist/oauth-provider.js +24 -23
- package/dist/oauth-provider.js.map +1 -1
- package/dist/output/output-manager.d.ts +1 -1
- package/dist/output/output-manager.d.ts.map +1 -1
- package/dist/output/send-authorize-redirect.d.ts +1 -1
- package/dist/output/send-authorize-redirect.d.ts.map +1 -1
- package/dist/output/send-web-page.d.ts +1 -1
- package/dist/output/send-web-page.d.ts.map +1 -1
- package/dist/request/request-manager.d.ts +2 -1
- package/dist/request/request-manager.d.ts.map +1 -1
- package/dist/request/request-manager.js +9 -1
- package/dist/request/request-manager.js.map +1 -1
- package/dist/token/token-manager.d.ts +3 -2
- package/dist/token/token-manager.d.ts.map +1 -1
- package/dist/token/token-manager.js +39 -24
- package/dist/token/token-manager.js.map +1 -1
- package/package.json +2 -4
- package/src/client/client-manager.ts +9 -11
- package/src/device/device-data.ts +3 -2
- package/src/device/device-manager.ts +93 -75
- package/src/lib/http/accept.ts +2 -6
- package/src/lib/http/method.ts +1 -1
- package/src/lib/http/request.ts +64 -1
- package/src/lib/http/response.ts +3 -2
- package/src/lib/http/route.ts +2 -1
- package/src/lib/http/router.ts +2 -1
- package/src/lib/http/stream.ts +1 -1
- package/src/lib/http/types.ts +0 -1
- package/src/lib/util/function.ts +19 -2
- package/src/lib/util/time.ts +35 -18
- package/src/oauth-hooks.ts +73 -13
- package/src/oauth-provider.ts +69 -28
- package/src/output/output-manager.ts +1 -1
- package/src/output/send-authorize-redirect.ts +1 -1
- package/src/output/send-web-page.ts +1 -1
- package/src/request/request-manager.ts +13 -2
- package/src/token/token-manager.ts +52 -23
- package/tsconfig.backend.tsbuildinfo +1 -1
- package/dist/device/device-details.d.ts +0 -16
- package/dist/device/device-details.d.ts.map +0 -1
- package/dist/device/device-details.js +0 -34
- package/dist/device/device-details.js.map +0 -1
- package/src/device/device-details.ts +0 -42
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"device-details.js","sourceRoot":"","sources":["../../src/device/device-details.ts"],"names":[],"mappings":";;;AASA,oDAYC;AAED,4CAkBC;AAxCD,6BAAuB;AAEV,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAGF,SAAgB,oBAAoB,CAClC,GAAoB,EACpB,UAAmB;IAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAA;IACnD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,IAAI,CAAA;IAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IACnD,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA;AACjC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,GAAoB,EACpB,UAAmB;IAEnB,4BAA4B;IAC5B,IAAI,IAAI,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,GAAG,CAAC,EAAE,CAAA;IACf,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QACnD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;YACvD,IAAI,YAAY;gBAAE,OAAO,YAAY,CAAA;QACvC,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,aAAa,CAAA;AACjC,CAAC"}
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import { IncomingMessage } from 'node:http'
|
2
|
-
import { z } from 'zod'
|
3
|
-
|
4
|
-
export const deviceDetailsSchema = z.object({
|
5
|
-
userAgent: z.string().nullable(),
|
6
|
-
ipAddress: z.string(),
|
7
|
-
})
|
8
|
-
export type DeviceDetails = z.infer<typeof deviceDetailsSchema>
|
9
|
-
|
10
|
-
export function extractDeviceDetails(
|
11
|
-
req: IncomingMessage,
|
12
|
-
trustProxy: boolean,
|
13
|
-
): DeviceDetails {
|
14
|
-
const userAgent = req.headers['user-agent'] || null
|
15
|
-
const ipAddress = extractIpAddress(req, trustProxy) || null
|
16
|
-
|
17
|
-
if (!ipAddress) {
|
18
|
-
throw new Error('Could not determine IP address')
|
19
|
-
}
|
20
|
-
|
21
|
-
return { userAgent, ipAddress }
|
22
|
-
}
|
23
|
-
|
24
|
-
export function extractIpAddress(
|
25
|
-
req: IncomingMessage,
|
26
|
-
trustProxy: boolean,
|
27
|
-
): string | undefined {
|
28
|
-
// Express app compatibility
|
29
|
-
if ('ip' in req && typeof req.ip === 'string') {
|
30
|
-
return req.ip
|
31
|
-
}
|
32
|
-
|
33
|
-
if (trustProxy) {
|
34
|
-
const forwardedFor = req.headers['x-forwarded-for']
|
35
|
-
if (typeof forwardedFor === 'string') {
|
36
|
-
const firstForward = forwardedFor.split(',')[0]!.trim()
|
37
|
-
if (firstForward) return firstForward
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
return req.socket.remoteAddress
|
42
|
-
}
|