OpenIddict

repository·dev·Indexed 26 days ago

https://github.com/openiddict/openiddict-core

A versatile framework for implementing OpenID Connect client, server, and token validation support in .NET applications. It supports ASP.NET 4.6.2+ and ASP.NET Core 2.3+ for server and token validation, and various platforms including Android, iOS, Linux, macOS, and Windows for clients. Supported flows include code, implicit, hybrid, client credentials, resource owner password, device authorization, and token exchange. Compatible data stores include Entity Framework Core, Entity Framework 6, and MongoDB.

Tokens
2.1K
Snippets
5
Records
15
Agent score
90%

What's inside OpenIddict

  1. Overview of OpenIddict capabilities

    dev

    OpenIddict is a versatile framework for implementing OpenID Connect client, server, and token validation support in .NET applications.

    Supported Platforms:

    • Server & Token Validation: ASP.NET 4.6.2+ or ASP.NET Core 2.3+ web applications.
    • Client: ASP.NET applications, as well as Android, iOS, Linux, Mac Catalyst, macOS, and Windows applications.

    Supported Flows:

    • Code, implicit, and hybrid flows.
    • Client credentials and resource owner password grants.
    • Device authorization flow.
    • Token exchange grant.

    Supported Data Stores:

    • Entity Framework Core
    • Entity Framework 6
    • MongoDB
    • Custom stores can be implemented for other providers.
  2. Get started with jQuery Validation Plugin

    dev

    To use the jQuery Validation Plugin, include both jQuery and the plugin script on your page. You can then perform validation on a form by selecting it and calling the .validate() method.

    <form>
    	<input required>
    </form>
    <script src="jquery.js"></script>
    <script src="jquery.validation.js"></script>
    <script>
    $("form").validate();
    </script>
  3. Select the appropriate Arcade pipeline template

    dev

    Arcade provides two sets of templates depending on your pipeline requirements:

    • 1ES Pipeline Templates: Use /templates-official for any internal production-graded pipeline or runs required to be managed by 1ES pipeline templates.
    • Standard Templates: Use /templates for all other pipeline runs.

    Refer to azure-pipelines.yml for a templates-official example or azure-pipelines-pr.yml for a standard templates example.

  4. Install Bootstrap TouchCarousel

    dev

    Bootstrap TouchCarousel is a drop-in plugin for Twitter Bootstrap's Carousel (v3) that enables touch gestures using Hammer.js. You can install it using one of the following methods:

    • Bower: bower install bootstrap-touch-carousel
    • Git Clone: git clone git://github.com/ixisio/bootstrap-touch-carousel.git
    • Git Submodule: git submodule add git://github.com/ixisio/bootstrap-touch-carousel.git /vendor/your-sm
    • Manual Download: Download the latest release zip from GitHub.
    bower install bootstrap-touch-carousel
  5. Configure NuGet to use OpenIddict nightly builds

    dev

    To use the latest features and bug fixes via nightly builds, add a NuGet.config file to the root of your solution and include the OpenIddict MyGet feed.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="nuget" value="https://api.nuget.org/v3/index.json" />
        <add key="openiddict" value="https://www.myget.org/F/openiddict/api/v3/index.json" />
      </packageSources>
    </configuration>
  6. Reduce security scan overhead with Multiple Outputs

    dev

    When using 1ES pipeline templates (templates-official), every publish artifact execution triggers additional security scans. To reduce this overhead, you should gather all publishing outputs into the $(Build.ArtifactStagingDirectory) and utilize the 1ES outputParentDirectory feature.

    Implementation Steps:

    1. Ensure all publish artifacts are located in $(Build.ArtifactStagingDirectory).
    2. Use the templateContext.outputs parameter in templates-official/jobs/jobs.yml to define your outputs.

    Note: Multiple outputs are only applicable to 1ES PT publishing (using templates-official).

    # azure-pipelines.yml
    extends:
      template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
      parameters:
        stages:
        - stage: build
          jobs:
          - template: /eng/common/templates-official/jobs/jobs.yml@self
            parameters:
              # 1ES makes use of outputs to reduce security task injection overhead
              templateContext:
                outputs:
                - output: pipelineArtifact
                  displayName: 'Publish logs from source'
                  continueOnError: true
                  condition: always()
                  targetPath: $(Build.ArtifactStagingDirectory)/artifacts/log
                  artifactName: Logs
              jobs:
              - job: Windows
                steps:
                - script: echo "friendly neighborhood" > artifacts/marvel/spiderman.txt
              # copy build outputs to artifact staging directory for publishing
              - task: CopyFiles@2
                  displayName: Gather build output
                  inputs:
                    SourceFolder: '$(System.DefaultWorkingDirectory)/artifacts/marvel'
                    Contents: '**'
                    TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/marvel'