1
1
const { getOboToken } = require ( '../MsalOnBehalfOfClient' ) ;
2
2
const { getGraphClient } = require ( '../util/graphClient' ) ;
3
3
const { ResponseType } = require ( '@microsoft/microsoft-graph-client' ) ;
4
- const authConfig = require ( '../authConfig' ) ;
4
+ const authConfig = require ( '../authConfig' ) ;
5
5
6
6
const {
7
- isAppOnlyToken,
8
7
hasRequiredDelegatedPermissions,
9
- hasRequiredApplicationPermissions,
10
8
} = require ( '../auth/permissionUtils' ) ;
11
9
12
-
13
10
exports . getProfile = async ( req , res , next ) => {
14
- if ( isAppOnlyToken ( req . authInfo ) ) {
15
- if (
16
- hasRequiredApplicationPermissions (
17
- req . authInfo ,
18
- authConfig . resources . middleTierAPI . applicationPermissions . scopes
19
- )
20
- ) {
21
- try {
22
- accessToken = await getOboToken ( tokenValue ) ;
23
- let graphResponse = await getGraphClient ( accessToken ) . api ( '/me' ) . responseType ( ResponseType . RAW ) . get ( ) ;
24
- graphResponse = await graphResponse . json ( ) ;
25
- res . status ( 200 ) . send ( graphResponse ) ;
26
- } catch ( error ) {
27
- next ( error ) ;
28
- }
29
- } else {
30
- next ( new Error ( 'Application does not have the required permissions' ) ) ;
11
+ const userToken = req . get ( 'authorization' ) ;
12
+ const [ bearer , tokenValue ] = userToken . split ( ' ' ) ;
13
+
14
+ let accessToken ;
15
+ if ( hasRequiredDelegatedPermissions ( req . authInfo , authConfig . resources . middleTierAPI . delegatedPermissions . scopes ) ) {
16
+ try {
17
+ accessToken = await getOboToken ( tokenValue ) ;
18
+ let graphResponse = await getGraphClient ( accessToken ) . api ( '/me' ) . responseType ( ResponseType . RAW ) . get ( ) ;
19
+ graphResponse = await graphResponse . json ( ) ;
20
+ res . json ( graphResponse ) ;
21
+ } catch ( error ) {
22
+ next ( error ) ;
31
23
}
32
24
} else {
33
- const userToken = req . get ( 'authorization' ) ;
34
- const [ bearer , tokenValue ] = userToken . split ( ' ' ) ;
35
-
36
- let accessToken ;
37
- if (
38
- hasRequiredDelegatedPermissions (
39
- req . authInfo ,
40
- authConfig . resources . middleTierAPI . delegatedPermissions . scopes
41
- )
42
- ) {
43
- try {
44
- accessToken = await getOboToken ( tokenValue ) ;
45
- let graphResponse = await getGraphClient ( accessToken ) . api ( '/me' ) . responseType ( ResponseType . RAW ) . get ( ) ;
46
- graphResponse = await graphResponse . json ( ) ;
47
- res . json ( graphResponse ) ;
48
- } catch ( error ) {
49
- next ( error ) ;
50
- }
51
- } else {
52
- next ( new Error ( 'User does not have the required permissions' ) ) ;
53
- }
54
-
55
- }
56
- } ;
25
+ next ( new Error ( 'User does not have the required permissions' ) ) ;
26
+ }
27
+ } ;
0 commit comments