none
URL not finding SharePoint resource in PROD Env: Cookie Error SameSite RRS feed

  • Frage

  • Hi all,
    I developed an Outlook Add-In that catches informations from SharePoint Lists.
    Base is node.js actual LTS.
    In Dev (localhost) everything worked fine.
    After going in PROD Mode (Azure Appservice und App-Registration configured, App is available as business-app), I get a 404 Error with the URLs pointing to SharePoint.
    My collegue thinks this has to do with a cookie that can't be set due to sameSite="Lax" (Standard) instead of sameSite="None" setting.

    But I can't figure out where to make an entry to define this. Is it in the graph.ts, taskpane.js or anywhere else?

    Here's what information I get out of Dev-Console:

      1. Anfrage-URL:
        https://d...p.azurewebsites.net/graph/listdata?siteId=48f...53d00f&listName=Rauminfos/items?expand=fields
      2. Anfragemethode:
        GET
      3. Statuscode:
        <slot style="box-sizing:border-box;min-width:0px;min-height:0px;"></slot>
        404
      4. Remote-Adresse:
        51.116.145.34:443
      5. Richtlinien für Verweis-URL:
        strict-origin-when-cross-origin
    • Antwortheader
      1. content-length:
        103
      2. content-type:
        text/html
      3. date:
        Wed, 10 Aug 2022 13:56:25 GMT
      4. server:
        Microsoft-IIS/10.0
      5. set-cookie:
        ARRAffinity=92ca53ad8db4fbb93d4d3b7d8ab54dcf8ffecb2d731f25b0e91ad575d7534c3f;Path=/;HttpOnly;Secure;Domain=do...p.azurewebsites.net
      6. set-cookie:
        ARRAffinitySameSite=92ca53ad8db4fbb93d4d3b7d8ab54dcf8ffecb2d731f25b0e91ad575d7534c3f;Path=/;HttpOnly;SameSite=None;Secure;Domain=d...p.azurewebsites.net
      7. x-powered-by:
        ASP.N

      The Error points to this fetch in taskpane.js:

      const response =  await fetch(requestUrl, { 
                  credentials: 'include',
                  method: 'GET',
                  mode: 'same-origin',
                    headers: {
                      'Content-Type': 'application/json',
                      'authorization': `Bearer ${apiToken}`
                    }
                    
                  });

      Please can anyone give me a hint? It's been more than a week now searching through the web...

    Thank you in advance!

     
    • Bearbeitet BerndRL Mittwoch, 10. August 2022 14:23
    Mittwoch, 10. August 2022 14:22

Alle Antworten

  • Hallo Bernd,

    My collegue thinks this has to do with a cookie that can't be set due to sameSite="Lax" (Standard) instead of sameSite="None" setting.

    But I can't figure out where to make an entry to define this. Is it in the graph.ts, taskpane.js or anywhere else?

    Da Du die Frage in einem deutschsprachigen MSDN-Forum gestellt hast, brauchst Du nicht auf Englisch umzuschalten. Der Wert für sameSite kann im Abschnitt system.web der web.config-Datei geändert werden. Folgender Artikel geht näher auf diese Einstellung ein:
    A SharePoint provider-hosted add-in running on Azure stops working after a .NET update

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 11. August 2022 06:02
    Moderator
  • Guten Morgen Dimitar,
    Danke dir für deine prompte Antwort.
    Mein Add-In verfügt nur leider über keine web.config-Datei.
    Es ist kein SharePoint sondern ein Outlook Add-In.
    Die Frage ist, ob in der tsconfig-Datei eine Anpassung notwendig ist.
    Was meinst du?

    {
      "compilerOptions": {
      
    
        /* Basic Options */
        // "incremental": true,                         /* Enable incremental compilation */
        "target": "es6",                                /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', 'ES2021', or 'ESNEXT'. */
        "module": "commonjs",                           /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
        // "lib": [],                                   /* Specify library files to be included in the compilation. */
        // "allowJs": true,                             /* Allow javascript files to be compiled. */
        // "checkJs": true,                             /* Report errors in .js files. */
        // "jsx": "preserve",                           /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
        // "declaration": true,                         /* Generates corresponding '.d.ts' file. */
        // "declarationMap": true,                      /* Generates a sourcemap for each corresponding '.d.ts' file. */
        // "sourceMap": true,                           /* Generates corresponding '.map' file. */
        //"outFile": "./dist",                             /* Concatenate and emit output to single file. */
        "outDir": "./dist",                              /* Redirect output structure to the directory. */
        "rootDir": "./src",                             /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
        // "composite": true,                           /* Enable project compilation */
        // "tsBuildInfoFile": "./",                     /* Specify file to store incremental compilation information */
        // "removeComments": true,                      /* Do not emit comments to output. */
        // "noEmit": true,                              /* Do not emit outputs. */
        // "importHelpers": true,                       /* Import emit helpers from 'tslib'. */
        // "downlevelIteration": true,                  /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
        // "isolatedModules": true,                     /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
    
        /* Strict Type-Checking Options */
        "strict": true,                                 /* Enable all strict type-checking options. */
        // "noImplicitAny": true,                       /* Raise error on expressions and declarations with an implied 'any' type. */
        // "strictNullChecks": true,                    /* Enable strict null checks. */
        // "strictFunctionTypes": true,                 /* Enable strict checking of function types. */
        // "strictBindCallApply": true,                 /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
        // "strictPropertyInitialization": true,        /* Enable strict checking of property initialization in classes. */
        // "noImplicitThis": true,                      /* Raise error on 'this' expressions with an implied 'any' type. */
        // "alwaysStrict": true,                        /* Parse in strict mode and emit "use strict" for each source file. */
    
        /* Additional Checks */
        // "noUnusedLocals": true,                      /* Report errors on unused locals. */
        // "noUnusedParameters": true,                  /* Report errors on unused parameters. */
        // "noImplicitReturns": true,                   /* Report error when not all code paths in function return a value. */
        // "noFallthroughCasesInSwitch": true,          /* Report errors for fallthrough cases in switch statement. */
        // "noUncheckedIndexedAccess": true,            /* Include 'undefined' in index signature results */
        // "noImplicitOverride": true,                  /* Ensure overriding members in derived classes are marked with an 'override' modifier. */
        // "noPropertyAccessFromIndexSignature": true,  /* Require undeclared properties from index signatures to use element accesses. */
    
        /* Module Resolution Options */
        // "moduleResolution": "node",                  /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
        // "baseUrl": "./",                             /* Base directory to resolve non-absolute module names. */
        // "paths": {},                                 /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
        // "rootDirs": [],                              /* List of root folders whose combined content represents the structure of the project at runtime. */
        // "typeRoots": [],                             /* List of folders to include type definitions from. */
        // "types": [],                                 /* Type declaration files to be included in compilation. */
        // "allowSyntheticDefaultImports": true,        /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
        "esModuleInterop": true,                        /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
        // "preserveSymlinks": true,                    /* Do not resolve the real path of symlinks. */
        // "allowUmdGlobalAccess": true,                /* Allow accessing UMD globals from modules. */
    
        /* Source Map Options */
        // "sourceRoot": "",                            /* Specify the location where debugger should locate TypeScript files instead of source locations. */
        // "mapRoot": "",                               /* Specify the location where debugger should locate map files instead of generated locations. */
        // "inlineSourceMap": true,                     /* Emit a single file with source maps instead of having a separate file. */
        // "inlineSources": true,                       /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
    
        /* Experimental Options */
        // "experimentalDecorators": true,              /* Enables experimental support for ES7 decorators. */
        // "emitDecoratorMetadata": true,               /* Enables experimental support for emitting type metadata for decorators. */
    
        /* Advanced Options */
        "skipLibCheck": true,                           /* Skip type checking of declaration files. */
        "forceConsistentCasingInFileNames": true        /* Disallow inconsistently-cased references to the same file. */


    Donnerstag, 11. August 2022 07:24