Giter Club home page Giter Club logo

mastering-the-marketplace's Introduction

Mastering the Marketplace

This content helps you bring your solution to the Microsoft marketplace faster and with more understanding. This library contains self-paced videos, hands-on labs, and sample code.

Let us know what you need in this content library.


Go here for the Mastering the Marketplace website, or choose a course based on the offer type you are working on.

  1. Mastering Azure Managed Application Offers
  2. Mastering Container Offers for Kubernetes apps
  3. Mastering Partner Center
  4. mastering SaaS Offers
  5. Mastering the SaaS Accelerator
  6. Mastering Virtual Machine Offers
  7. Mastering Teams Offers

You will need to clone this repository to do the hands-on labs including in the courses.


Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

mastering-the-marketplace's People

Contributors

code4clouds avatar dstarr avatar hugos-msft avatar jayshaw91 avatar k-granados avatar louisephilardeau avatar microsoft-github-operations[bot] avatar microsoft-github-policy-service[bot] avatar microsoftopensource avatar ms-mgrant avatar msalemcode avatar nectdz avatar neelavarshad avatar olsoro0 avatar pbutlerm avatar santhoshb-msft avatar tiffwchen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mastering-the-marketplace's Issues

Error 404 accessing SaaS "./demo-code" paths from GitHub Pages

Accessing "Code" links from Mastering-the-Marketplace\saas\README.md in GitHub Pages results in an Error 404. This is likely because these links use a relative path to link to the GitHub folder containing the demo code: (ex.: "./demo-code/the-saas-client-library-for-dotnet").

A fix to this is to add the full repo URL in front of demo-code, or to use another tool that can properly reference relative paths.

cpa verify error help.

We are trying to create AKS offer for marketplace. We are trying to create CNAB bundle using buddling container described in article https://microsoft.github.io/Mastering-the-Marketplace/container/Labs/lab2-create-cnab-bundle-package/ .

We cleared many errors on UI definition, Helm Chart and Manifest but it runs into following error. It doesn't have any indication of where the problem is. Can someone tell how to diagnose the issue further or what is the problem? Is the code for cpa tool available online to debug?

root@eee52aa32608:/data# cpa verify       
By using the Azure Kubernetes CNAB Packaging Application, you agree to the License contained in the application. You can view the License at ~/LICENSE. We collect telemetry data, if you would 
like to opt out of data collection please use the --telemetryOptOut flag

Manifest file validated, 0 total failure(s)

Helm chart validated, 0 total failure(s)
panic: runtime error: index out of range [3] with length 3

goroutine 1 [running]:
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/pkg/verify.(*armttkTestResults).toErrors(...)
        /__w/1/s/pkg/verify/arm-ttk.go:94
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/pkg/verify.(*MarketplacePackage).Verify(0xc0017b3c70)
        /__w/1/s/pkg/verify/arm_template.go:63 +0x7d8
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/pkg/verify.(*ArmTemplateVerifier).Verify(0xc0017b3c50)
        /__w/1/s/pkg/verify/arm_template.go:95 +0x139
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/cmd.handleVerifyTemplates({0xc000056004?, 0xc000684fe0?}, 0xc00005400f?)
        /__w/1/s/cmd/verify.go:99 +0xf5
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/cmd.verifyArtifacts(0x0?)
        /__w/1/s/cmd/verify.go:61 +0xf0
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/cmd.verifyCmd.func1(0xc00033f800?, {0x3b5a760?, 0x0?, 0x0?})
        /__w/1/s/cmd/verify.go:29 +0x2f
github.com/spf13/cobra.(*Command).execute(0xc00033f800, {0x3b5a760, 0x0, 0x0})
        /root/go/pkg/mod/github.com/spf13/[email protected]/command.go:920 +0x847
github.com/spf13/cobra.(*Command).ExecuteC(0x3ae4fa0)
        /root/go/pkg/mod/github.com/spf13/[email protected]/command.go:1044 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
        /root/go/pkg/mod/github.com/spf13/[email protected]/command.go:968
dev.azure.com/ClusterConfigurationAgent/container-package-app/_git/container-package-app-external/cmd.Execute()
        /__w/1/s/cmd/root.go:40 +0x25
main.main()
        /__w/1/s/main.go:21 +0x17 


cpa buildbundle - debian repo codename error

Our "cpa buildbundle" command is failing since June 10th. We think issue is related to the Debian 12 release. Following is the complete output to reproduce the error.
Similar impact is observed in other project Azure/azure-functions-docker#905 which may give some more idea on the issue.
We "think" fix may be to use specific version tag for debian image for the dockerfile created in .cnab folder.
Let us know if this is not the right forum to post the issue and it should be discussed somewhere else.

C:\Users\rpalejiya>docker run -it -v /var/run/docker.sock:/var/run/docker.sock -v /c/source/repos/myproject/Azure-cnab:/data --entrypoint "/bin/bash" mcr.microsoft.com/container-package-app:latest

root@9976b64824dc:/#
root@9976b64824dc:/# cd data
root@9976b64824dc:/data# az login --service-principal -u  .....
root@9976b64824dc:/data# az acr login ......
Login Succeeded
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
root@9976b64824dc:/data#
root@9976b64824dc:/data# cpa buildbundle
By using the Azure Kubernetes CNAB Packaging Application, you agree to the License contained in the application. You can view the License at ~/LICENSE. We collect telemetry data, if you would like to opt out of data collection please use the --telemetryOptOut flag

Manifest file validated, 0 total failure(s)

Helm chart validated, 0 total failure(s)
an error occurred while trying to execute the PowerShell arm-ttk module exited.
  A newer version of the ARM-TTK is available at: https://github.com/Azure/arm-ttk/releases
  Installed Version: 0.22
  Latest Version: 0.23
  {
    "Items": [
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "JSONFiles Should Be Valid",
        "Name": "JSONFiles Should Be Valid",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Allowed Values Should Actually Be Allowed",
        "Name": "Allowed Values Should Actually Be Allowed",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Controls In Outputs Must Exist",
        "Name": "Controls In Outputs Must Exist",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "CreateUIDefinition Should Have Schema",
        "Name": "CreateUIDefinition Should Have Schema",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Credential Confirmation Should Not Be Hidden",
        "Name": "Credential Confirmation Should Not Be Hidden",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Handler Must Be Correct",
        "Name": "Handler Must Be Correct",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "HideExisting Must Be Correctly Handled",
        "Name": "HideExisting Must Be Correctly Handled",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Outputs Must Be Present In Template Parameters",
        "Name": "Outputs Must Be Present In Template Parameters",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Parameters Without Default Must Exist In CreateUIDefinition",
        "Name": "Parameters Without Default Must Exist In CreateUIDefinition",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Password Textboxes Must Be Used For Password Parameters",
        "Name": "Password Textboxes Must Be Used For Password Parameters",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "PasswordBoxes Must Have Min Length",
        "Name": "PasswordBoxes Must Have Min Length",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [
          "TextBox 'FrontAppReplica' regex does not have a length constraint.",
          "TextBox 'BrokerUrl' regex does not have a length constraint.",
          "TextBox 'SchemaRegistryUrl' regex does not have a length constraint.",
          "TextBox 'RestApiUrl' regex does not have a length constraint.",
          "TextBox 'ConnectApiUrl' regex does not have a length constraint.",
          "TextBox 'KeystorePath' regex does not have a length constraint.",
          "TextBox 'TruststorePath' regex does not have a length constraint."
        ],
        "Output": [],
        "Passed": true,
        "Group": "Textboxes Are Well Formed",
        "Name": "Textboxes Are Well Formed",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Tooltips Should Be Present",
        "Name": "Tooltips Should Be Present",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Usernames Should Not Have A Default",
        "Name": "Usernames Should Not Have A Default",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Validations Must Have Message",
        "Name": "Validations Must Have Message",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "VMSizes Must Match Template",
        "Name": "VMSizes Must Match Template",
        "File": "createUIDefinition.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "adminUsername Should Not Be A Literal",
        "Name": "adminUsername Should Not Be A Literal",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "apiVersions Should Be Recent In Reference Functions",
        "Name": "apiVersions Should Be Recent In Reference Functions",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "apiVersions Should Be Recent",
        "Name": "apiVersions Should Be Recent",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "artifacts parameter",
        "Name": "artifacts parameter",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "CommandToExecute Must Use ProtectedSettings For Secrets",
        "Name": "CommandToExecute Must Use ProtectedSettings For Secrets",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "DependsOn Best Practices",
        "Name": "DependsOn Best Practices",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Deployment Resources Must Not Be Debug",
        "Name": "Deployment Resources Must Not Be Debug",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "DeploymentTemplate Must Not Contain Hardcoded Uri",
        "Name": "DeploymentTemplate Must Not Contain Hardcoded Uri",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "DeploymentTemplate Schema Is Correct",
        "Name": "DeploymentTemplate Schema Is Correct",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Dynamic Variable References Should Not Use Concat",
        "Name": "Dynamic Variable References Should Not Use Concat",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "IDs Should Be Derived From ResourceIDs",
        "Name": "IDs Should Be Derived From ResourceIDs",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Location Should Not Be Hardcoded",
        "Name": "Location Should Not Be Hardcoded",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "ManagedIdentityExtension must not be used",
        "Name": "ManagedIdentityExtension must not be used",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Min And Max Value Are Numbers",
        "Name": "Min And Max Value Are Numbers",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Outputs Must Not Contain Secrets",
        "Name": "Outputs Must Not Contain Secrets",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Parameter Types Should Be Consistent",
        "Name": "Parameter Types Should Be Consistent",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Parameters Must Be Referenced",
        "Name": "Parameters Must Be Referenced",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "providers apiVersions Is Not Permitted",
        "Name": "providers apiVersions Is Not Permitted",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Resources Should Have Location",
        "Name": "Resources Should Have Location",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Resources Should Not Be Ambiguous",
        "Name": "Resources Should Not Be Ambiguous",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Secure Params In Nested Deployments",
        "Name": "Secure Params In Nested Deployments",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Secure String Parameters Cannot Have Default",
        "Name": "Secure String Parameters Cannot Have Default",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "URIs Should Be Properly Constructed",
        "Name": "URIs Should Be Properly Constructed",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Variables Must Be Referenced",
        "Name": "Variables Must Be Referenced",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "Virtual Machines Should Not Be Preview",
        "Name": "Virtual Machines Should Not Be Preview",
        "File": "mainTemplate.json"
      },
      {
        "Errors": [],
        "Warnings": [],
        "Output": [],
        "Passed": true,
        "Group": "VM Images Should Use Latest Version",
        "Name": "VM Images Should Use Latest Version",
        "File": "mainTemplate.json"
      }
    ]
  }


Marketplace package validated, 0 total failures(s)
operation VerifySuccessful
db
map[digest:sha256:603a19e6c5be21ca615de325a2fb758827558de0a8c4a9925256a4329b4e41be image:mssql/server registry:mcr.microsoft.com]
...........
map[digest:sha256:ff129a58a1b8b6722d2370903a103b6f239476598a2094ad5d3986bd528c480b image:auraserver registry:aurainnovations.azurecr.io]
Successfully packaged chart and saved it to: /data/Aura-Helm-Chart-0.0.1.tgz

Copying porter runtime ===>
Copying mixins ===>
Copying mixin exec ===>
Copying mixin helm3 ===>
[+] Building 16.2s (10/21)
 => [internal] load .dockerignore                                                                                                                                      0.2s
 => => transferring context: 2B                                                                                                                                        0.1s
 => [internal] load build definition from Dockerfile                                                                                                                   0.2s
 => => transferring dockerfile: 1.26kB                                                                                                                                 0.1s
 => resolve image config for docker.io/docker/dockerfile-upstream:1.4.0                                                                                                2.5s
 => CACHED docker-image://docker.io/docker/dockerfile-upstream:1.4.0@sha256:178c4e4a93795b9365dbf6cf10da8fcf517fcb4a17f1943a775c0f548e9fc2ff                           0.0s
 => [internal] load metadata for docker.io/library/debian:stable-slim                                                                                                  3.2s
 => [internal] load build context                                                                                                                                      7.3s
 => => transferring context: 204.04MB                                                                                                                                  7.3s
 => [stage-0  1/15] FROM docker.io/library/debian:stable-slim@sha256:b09f68bffcf9c14f3105f262e92321d05abaf48460d1f43f884325bcd4395b95                                  0.1s
 => => resolve docker.io/library/debian:stable-slim@sha256:b09f68bffcf9c14f3105f262e92321d05abaf48460d1f43f884325bcd4395b95                                            0.1s
 => CACHED [stage-0  2/15] RUN useradd nonroot -m -u 65532 -g 0 -o                                                                                                     0.0s
 => CACHED [stage-0  3/15] RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache      0.0s
 => ERROR [stage-0  4/15] RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt     apt-get update && apt-get install -y ca-certificate  9.7s
------
 > [stage-0  4/15] RUN --mount=type=cache,target=/var/cache/apt --mount=type=cache,target=/var/lib/apt     apt-get update && apt-get install -y ca-certificates:
#0 2.094 Get:1 http://deb.debian.org/debian stable InRelease [147 kB]
#0 2.789 Get:2 http://deb.debian.org/debian stable-updates InRelease [52.1 kB]
#0 3.223 Get:3 http://deb.debian.org/debian-security stable-security InRelease [48.0 kB]
#0 3.522 Reading package lists...
#0 8.898 E: Repository 'http://deb.debian.org/debian stable InRelease' changed its 'Codename' value from 'bullseye' to 'bookworm'
#0 8.898 E: Repository 'http://deb.debian.org/debian stable-updates InRelease' changed its 'Codename' value from 'bullseye-updates' to 'bookworm-updates'
#0 8.898 E: Repository 'http://deb.debian.org/debian-security stable-security InRelease' changed its 'Codename' value from 'bullseye-security' to 'bookworm-security'
------
ERR  - Failed to publish bundle, retrying 3 more times

SaaS Lab 4: Publisher Portal

This lab is optional for the workshop as we will not have time to complete it in class. This lab can be completed after class.

SaaS : Expired token Msal Required redirect

if the user has a token but it's expired login page does not force the login and the code in the method continues. When user to get graph user information, I get the error posted in this issue.

So I'm in a state where it won't force the user to re-login and I can't get the user information.
it throw the following error
--> Microsoft.Identity.Web.MicrosoftIdentityWebChallengeUserException: IDW10502: An MsalUiRequiredException was thrown due to a challenge for the user. See https://aka.ms/ms-id-web/ca_incremental-consent.
---> MSAL.NetCore.4.36.0.0.MsalUiRequiredException:
ErrorCode: user_null
Microsoft.Identity.Client.MsalUiRequiredException: No account or login hint was passed to the AcquireTokenSilent call.
at Microsoft.Identity.Client.Internal.Requests.Silent.SilentRequest.ExecuteAsync(CancellationToken cancellationToken)
at Microsoft.Identity.Client.Internal.Requests.Silent.SilentRequest.ExecuteAsync(CancellationToken cancellationToken)
at Microsoft.Identity.Client.Internal.Requests.RequestBase.RunAsync(CancellationToken cancellationToken)
at Microsoft.Identity.Client.ApiConfig.Executors.ClientApplicationBaseExecutor.ExecuteAsync(AcquireTokenCommonParameters commonParameters, AcquireTokenSilentParameters silentParameters, CancellationToken cancellationToken)
at Microsoft.Identity.Web.TokenAcquisition.GetAuthenticationResultForWebAppWithAccountFromCacheAsync(IConfidentialClientApplication application, ClaimsPrincipal claimsPrincipal, IEnumerable1 scopes, String authority, MergedOptions mergedOptions, String userFlow, TokenAcquisitionOptions tokenAcquisitionOptions) at Microsoft.Identity.Web.TokenAcquisition.GetAuthenticationResultForUserAsync(IEnumerable1 scopes, String authenticationScheme, String tenantId, String userFlow, ClaimsPrincipal user, TokenAcquisitionOptions tokenAcquisitionOptions)
StatusCode: 0
ResponseBody:
Headers:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.