@myauth/next 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +196 -0
- package/dist/client/MyAuthProvider.js +2 -2
- package/dist/client/MyAuthProvider.js.map +1 -1
- package/dist/middleware/withAuthMiddleware.d.ts.map +1 -1
- package/dist/middleware/withAuthMiddleware.js +32 -9
- package/dist/middleware/withAuthMiddleware.js.map +1 -1
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +15 -10
- package/dist/server/auth.js.map +1 -1
- package/dist/server/authCallbackHandler.d.ts.map +1 -1
- package/dist/server/authCallbackHandler.js +8 -2
- package/dist/server/authCallbackHandler.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# @myauth/next
|
|
2
|
+
|
|
3
|
+
Next.js SDK for MyAuth authentication service
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @myauth/next
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Middleware Protection
|
|
14
|
+
|
|
15
|
+
Protect your routes using the middleware:
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
// middleware.ts
|
|
19
|
+
import { withAuthMiddleware } from "@myauth/next";
|
|
20
|
+
|
|
21
|
+
export default withAuthMiddleware("your-client-id");
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Server-Side Authentication
|
|
25
|
+
|
|
26
|
+
Get the current session on the server:
|
|
27
|
+
|
|
28
|
+
```typescript
|
|
29
|
+
import { auth } from "@myauth/next";
|
|
30
|
+
|
|
31
|
+
export default async function ProtectedPage() {
|
|
32
|
+
const session = await auth();
|
|
33
|
+
|
|
34
|
+
if (!session) {
|
|
35
|
+
return <div>Please log in</div>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return <div>Welcome, {session.user.email}!</div>;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Getting Current User
|
|
43
|
+
|
|
44
|
+
Get the current user directly:
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
import { currentUser } from "@myauth/next";
|
|
48
|
+
|
|
49
|
+
export default async function UserProfile() {
|
|
50
|
+
const user = await currentUser();
|
|
51
|
+
|
|
52
|
+
if (!user) {
|
|
53
|
+
return <div>Please log in</div>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
return <div>Welcome, {user.email}!</div>;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Client-Side Authentication
|
|
61
|
+
|
|
62
|
+
Wrap your app with the AuthProvider and use the useAuth hook:
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
// app/layout.tsx
|
|
66
|
+
import { AuthProvider } from "@myauth/next";
|
|
67
|
+
|
|
68
|
+
export default function RootLayout({
|
|
69
|
+
children,
|
|
70
|
+
}: {
|
|
71
|
+
children: React.ReactNode;
|
|
72
|
+
}) {
|
|
73
|
+
return (
|
|
74
|
+
<html lang="en">
|
|
75
|
+
<body>
|
|
76
|
+
<AuthProvider>{children}</AuthProvider>
|
|
77
|
+
</body>
|
|
78
|
+
</html>
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// components/MyComponent.tsx
|
|
83
|
+
import { useAuth } from "@myauth/next";
|
|
84
|
+
|
|
85
|
+
export function MyComponent() {
|
|
86
|
+
const { user, login, logout, loading } = useAuth();
|
|
87
|
+
|
|
88
|
+
if (loading) return <div>Loading...</div>;
|
|
89
|
+
|
|
90
|
+
return (
|
|
91
|
+
<div>
|
|
92
|
+
{user ? (
|
|
93
|
+
<div>
|
|
94
|
+
<p>Welcome, {user.email}!</p>
|
|
95
|
+
<button onClick={logout}>Logout</button>
|
|
96
|
+
</div>
|
|
97
|
+
) : (
|
|
98
|
+
<button onClick={login}>Login</button>
|
|
99
|
+
)}
|
|
100
|
+
</div>
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Using the useUser Hook
|
|
106
|
+
|
|
107
|
+
Access the current user and loading state with a simpler hook:
|
|
108
|
+
|
|
109
|
+
```tsx
|
|
110
|
+
import { useUser } from "@myauth/next";
|
|
111
|
+
|
|
112
|
+
export function UserDisplay() {
|
|
113
|
+
const { user, loading } = useUser();
|
|
114
|
+
|
|
115
|
+
if (loading) return <div>Loading...</div>;
|
|
116
|
+
|
|
117
|
+
return (
|
|
118
|
+
<div>
|
|
119
|
+
{user ? <p>Current user: {user.email}</p> : <p>No user logged in</p>}
|
|
120
|
+
</div>
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Authentication Callback Handler
|
|
126
|
+
|
|
127
|
+
Handle authentication callbacks in your API routes:
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
// app/api/auth/callback/route.ts
|
|
131
|
+
import { createAuthCallbackHandler } from "@myauth/next";
|
|
132
|
+
|
|
133
|
+
export const GET = createAuthCallbackHandler({
|
|
134
|
+
successRedirect: "/",
|
|
135
|
+
failureRedirect: "/login",
|
|
136
|
+
});
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Authentication with Redirect Callback Component
|
|
140
|
+
|
|
141
|
+
For pages that handle redirects:
|
|
142
|
+
|
|
143
|
+
```tsx
|
|
144
|
+
// app/auth/callback/page.tsx
|
|
145
|
+
import { AuthenticateWithRedirectCallback } from "@myauth/next";
|
|
146
|
+
|
|
147
|
+
export default function AuthCallbackPage() {
|
|
148
|
+
return <AuthenticateWithRedirectCallback />;
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## API Reference
|
|
153
|
+
|
|
154
|
+
### Server Functions
|
|
155
|
+
|
|
156
|
+
- `auth()` - Returns the current session or null
|
|
157
|
+
- `currentUser()` - Returns the current user or null
|
|
158
|
+
- `createAuthCallbackHandler(options)` - Creates a handler for auth callbacks
|
|
159
|
+
- `getSessionToken()` - Gets the session token
|
|
160
|
+
|
|
161
|
+
### Client Components
|
|
162
|
+
|
|
163
|
+
- `AuthProvider` - React context provider for authentication
|
|
164
|
+
- `useAuth()` - Hook to access authentication state and methods
|
|
165
|
+
- `useUser()` - Hook to access the current user and loading state
|
|
166
|
+
- `AuthenticateWithRedirectCallback` - Component for handling auth redirects
|
|
167
|
+
|
|
168
|
+
### Middleware
|
|
169
|
+
|
|
170
|
+
- `withAuthMiddleware(clientId)` - Creates middleware to protect routes
|
|
171
|
+
|
|
172
|
+
## Types
|
|
173
|
+
|
|
174
|
+
```typescript
|
|
175
|
+
type User = {
|
|
176
|
+
email: string;
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
type AuthState = {
|
|
180
|
+
user: User | null;
|
|
181
|
+
token: string | null;
|
|
182
|
+
loading: boolean;
|
|
183
|
+
logout: () => Promise<void>;
|
|
184
|
+
login: () => Promise<void>;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
type Session = {
|
|
188
|
+
user: User | null;
|
|
189
|
+
token: string | null;
|
|
190
|
+
};
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
## License
|
|
194
|
+
|
|
195
|
+
ISC</content>
|
|
196
|
+
<parameter name="filePath">packages/next-sdk/README.md
|
|
@@ -11,8 +11,8 @@ export function AuthProvider({ children, initialSession, clientId, }) {
|
|
|
11
11
|
const [token, setToken] = useState(initialSession?.token);
|
|
12
12
|
const [loading, setLoading] = useState(false);
|
|
13
13
|
const router = useRouter();
|
|
14
|
-
|
|
15
|
-
const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
14
|
+
const API_BASE_URL = "http://localhost:5005";
|
|
15
|
+
//const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
16
16
|
const logout = async () => {
|
|
17
17
|
try {
|
|
18
18
|
setLoading(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MyAuthProvider.js","sourceRoot":"","sources":["../../src/client/MyAuthProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAC;AAEjE,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAc,EACd,QAAQ,GAKT;IACC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,cAAc,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"MyAuthProvider.js","sourceRoot":"","sources":["../../src/client/MyAuthProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAC;AAEjE,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,cAAc,EACd,QAAQ,GAKT;IACC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,cAAc,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,YAAY,GAAG,uBAAuB,CAAC;IAC7C,uDAAuD;IAEvD,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAC;YAEjB,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,MAAM,CAAC;oBACX,KAAK;oBACL,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,IAAI,IAAI,KAAK;YAAE,OAAO;QAC1B,MAAM,CAAC,IAAI,CACT,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,aAAa,QAAQ,EAAE,CAChE,CAAC;QACF,OAAO;IACT,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YACjE,QAAQ,GACY,CACxB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAuthMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/withAuthMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IASrB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"withAuthMiddleware.d.ts","sourceRoot":"","sources":["../../src/middleware/withAuthMiddleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IASrB,KAAK,WAAW,oCAuC7C"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { verifyToken } from "@myauth/node";
|
|
1
|
+
import { rotateToken, verifyToken } from "@myauth/node";
|
|
2
2
|
import { NextResponse } from "next/server.js";
|
|
3
3
|
export function withAuthMiddleware(clientId) {
|
|
4
|
-
|
|
5
|
-
const AUTH_PORTAL_BASE_URL = "https://auth.deepxdev.com";
|
|
6
|
-
const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
7
|
-
|
|
4
|
+
const AUTH_PORTAL_BASE_URL = "http://localhost:3001";
|
|
5
|
+
//const AUTH_PORTAL_BASE_URL = "https://auth.deepxdev.com";
|
|
6
|
+
//const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
7
|
+
const API_BASE_URL = "http://localhost:5005";
|
|
8
8
|
const redirectTo = `${AUTH_PORTAL_BASE_URL}/login?clientId=${clientId}`;
|
|
9
9
|
const apiBaseUrl = API_BASE_URL;
|
|
10
10
|
return async function proxy(req) {
|
|
11
|
-
const token = req.cookies.get("
|
|
12
|
-
console.log("token", token);
|
|
11
|
+
const token = req.cookies.get("accessToken")?.value;
|
|
13
12
|
if (!token) {
|
|
14
13
|
return redirect(req, redirectTo);
|
|
15
14
|
}
|
|
@@ -18,8 +17,32 @@ export function withAuthMiddleware(clientId) {
|
|
|
18
17
|
return NextResponse.next();
|
|
19
18
|
}
|
|
20
19
|
catch (e) {
|
|
21
|
-
console.log("reach this error");
|
|
22
|
-
|
|
20
|
+
console.log("reach this error", e);
|
|
21
|
+
if (e?.response?.data?.code !== "TOKEN_EXPIRED") {
|
|
22
|
+
return redirect(req, redirectTo);
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const refreshToken = req.cookies.get("refreshToken")?.value;
|
|
26
|
+
if (!refreshToken)
|
|
27
|
+
return redirect(req, redirectTo);
|
|
28
|
+
const result = await rotateToken({
|
|
29
|
+
token: refreshToken,
|
|
30
|
+
apiBaseUrl: API_BASE_URL,
|
|
31
|
+
});
|
|
32
|
+
const res = NextResponse.next();
|
|
33
|
+
res.cookies.set("accessToken", result.accessToken, {
|
|
34
|
+
httpOnly: true,
|
|
35
|
+
});
|
|
36
|
+
res.cookies.set("refreshToken", result.refreshToken, {
|
|
37
|
+
httpOnly: true,
|
|
38
|
+
});
|
|
39
|
+
await verifyToken({ token: result.accessToken, apiBaseUrl });
|
|
40
|
+
return res;
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
console.log("errror", e);
|
|
44
|
+
return redirect(req, redirectTo);
|
|
45
|
+
}
|
|
23
46
|
}
|
|
24
47
|
};
|
|
25
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAuthMiddleware.js","sourceRoot":"","sources":["../../src/middleware/withAuthMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"withAuthMiddleware.js","sourceRoot":"","sources":["../../src/middleware/withAuthMiddleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAEhE,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;IACrD,2DAA2D;IAC3D,uDAAuD;IACvD,MAAM,YAAY,GAAG,uBAAuB,CAAC;IAE7C,MAAM,UAAU,GAAG,GAAG,oBAAoB,mBAAmB,QAAQ,EAAE,CAAC;IACxE,MAAM,UAAU,GAAG,YAAY,CAAC;IAEhC,OAAO,KAAK,UAAU,KAAK,CAAC,GAAgB;QAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YACzC,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;gBAChD,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC;gBAC5D,IAAI,CAAC,YAAY;oBAAE,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAEpD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;oBAC/B,KAAK,EAAE,YAAsB;oBAC7B,UAAU,EAAE,YAAY;iBACzB,CAAC,CAAC;gBAEH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;gBAEhC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE;oBACjD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,EAAE;oBACnD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC7D,OAAO,GAAG,CAAC;YACb,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACzB,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAgB,EAAE,UAAkB;IACpD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI;;;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI;;;SAuBhB,CAAC"}
|
package/dist/server/auth.js
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { verifyToken } from "@myauth/node";
|
|
1
|
+
import { rotateToken, verifyToken } from "@myauth/node";
|
|
2
2
|
import { cookies, headers } from "next/headers.js";
|
|
3
3
|
export const auth = async () => {
|
|
4
4
|
const cookieStore = await cookies();
|
|
5
5
|
const headerList = await headers();
|
|
6
|
-
|
|
7
|
-
const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
8
|
-
const token = cookieStore.get("
|
|
6
|
+
const API_BASE_URL = "http://localhost:5005";
|
|
7
|
+
// const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
8
|
+
const token = cookieStore.get("accessToken")?.value ??
|
|
9
9
|
headerList.get("authorization")?.replace("Bearer ", "");
|
|
10
10
|
if (!token)
|
|
11
11
|
return null;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
try {
|
|
13
|
+
const user = await verifyToken({
|
|
14
|
+
token,
|
|
15
|
+
apiBaseUrl: API_BASE_URL,
|
|
16
|
+
});
|
|
17
|
+
return { user, token };
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
console.log("érror in auth", err);
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
18
23
|
};
|
|
19
24
|
//# sourceMappingURL=auth.js.map
|
package/dist/server/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IAC7B,MAAM,WAAW,GAAG,MAAM,OAAO,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,MAAM,OAAO,EAAE,CAAC;IACnC,MAAM,YAAY,GAAG,uBAAuB,CAAC;IAC7C,wDAAwD;IAExD,MAAM,KAAK,GACT,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK;QACrC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,KAAK;YACL,UAAU,EAAE,YAAY;SACzB,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authCallbackHandler.d.ts","sourceRoot":"","sources":["../../src/server/authCallbackHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,IAS4B,KAAK,WAAW;;;;
|
|
1
|
+
{"version":3,"file":"authCallbackHandler.d.ts","sourceRoot":"","sources":["../../src/server/authCallbackHandler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEhE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,IAS4B,KAAK,WAAW;;;;IA+B5C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { MyAuth } from "@myauth/node";
|
|
2
2
|
import { NextResponse } from "next/server.js";
|
|
3
3
|
export function createAuthCallbackHandler(config) {
|
|
4
|
-
|
|
5
|
-
const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
4
|
+
const API_BASE_URL = "http://localhost:5005";
|
|
5
|
+
// const API_BASE_URL = "https://auth-api.deepxdev.com";
|
|
6
6
|
const myAuth = new MyAuth({
|
|
7
7
|
...config,
|
|
8
8
|
apiBaseUrl: API_BASE_URL,
|
|
@@ -21,6 +21,12 @@ export function createAuthCallbackHandler(config) {
|
|
|
21
21
|
sameSite: "none",
|
|
22
22
|
path: "/",
|
|
23
23
|
});
|
|
24
|
+
res.cookies.set("accessToken", accessToken, {
|
|
25
|
+
httpOnly: true,
|
|
26
|
+
secure: true,
|
|
27
|
+
sameSite: "none",
|
|
28
|
+
path: "/",
|
|
29
|
+
});
|
|
24
30
|
return res;
|
|
25
31
|
}
|
|
26
32
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authCallbackHandler.js","sourceRoot":"","sources":["../../src/server/authCallbackHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAEhE,MAAM,UAAU,yBAAyB,CAAC,MAGzC;IACC,
|
|
1
|
+
{"version":3,"file":"authCallbackHandler.js","sourceRoot":"","sources":["../../src/server/authCallbackHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAoB,MAAM,gBAAgB,CAAC;AAEhE,MAAM,UAAU,yBAAyB,CAAC,MAGzC;IACC,MAAM,YAAY,GAAG,uBAAuB,CAAC;IAC7C,wDAAwD;IAExD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,GAAG,MAAM;QACT,UAAU,EAAE,YAAY;KACzB,CAAC,CAAC;IAEH,OAAO,KAAK,UAAU,IAAI,CAAC,GAAgB;QACzC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAElC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAExE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YAE/C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE;gBAC5C,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;YAEH,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE;gBAC1C,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,GAAG;aACV,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|