ory-am/hydra

View on GitHub

Showing 849 of 849 total issues

Identical blocks of code found in 3 locations. Consider refactoring.
Open

          cy.request({
            method: "POST",
            url: tokenUrl,
            form: true,
            body: {
Severity: Major
Found in cypress/integration/oauth2/grant_jwtbearer.js and 2 other locations - About 1 day to fix
cypress/integration/oauth2/grant_jwtbearer.js on lines 120..140
cypress/integration/oauth2/grant_jwtbearer.js on lines 544..564

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 212.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Identical blocks of code found in 3 locations. Consider refactoring.
Open

          cy.request({
            method: "POST",
            url: tokenUrl,
            form: true,
            body: {
Severity: Major
Found in cypress/integration/oauth2/grant_jwtbearer.js and 2 other locations - About 1 day to fix
cypress/integration/oauth2/grant_jwtbearer.js on lines 371..391
cypress/integration/oauth2/grant_jwtbearer.js on lines 544..564

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 212.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 3 locations. Consider refactoring.
Open

      it("should return an Error (400) when given client credentials and a JWT assertion with an invalid subject", function () {
        createClient(nc()).then((client) => {
          const grant = gr(prng())
          createGrant(grant)

Severity: Major
Found in cypress/integration/oauth2/grant_jwtbearer.js and 2 other locations - About 1 day to fix
cypress/integration/oauth2/grant_jwtbearer.js on lines 395..424
cypress/integration/oauth2/grant_jwtbearer.js on lines 426..455

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 212.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 3 locations. Consider refactoring.
Open

      it("should return an Error (400) when given client credentials and a JWT assertion with an invalid issuer", function () {
        createClient(nc()).then((client) => {
          const grant = gr(prng())
          createGrant(grant)

Severity: Major
Found in cypress/integration/oauth2/grant_jwtbearer.js and 2 other locations - About 1 day to fix
cypress/integration/oauth2/grant_jwtbearer.js on lines 327..356
cypress/integration/oauth2/grant_jwtbearer.js on lines 426..455

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 212.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 3 locations. Consider refactoring.
Open

      it("should return an Error (400) when given client credentials and a JWT assertion with an invalid audience", function () {
        createClient(nc()).then((client) => {
          const grant = gr(prng())
          createGrant(grant)

Severity: Major
Found in cypress/integration/oauth2/grant_jwtbearer.js and 2 other locations - About 1 day to fix
cypress/integration/oauth2/grant_jwtbearer.js on lines 327..356
cypress/integration/oauth2/grant_jwtbearer.js on lines 395..424

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 212.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Identical blocks of code found in 3 locations. Consider refactoring.
Open

          cy.request({
            method: "POST",
            url: tokenUrl,
            form: true,
            body: {
Severity: Major
Found in cypress/integration/oauth2/grant_jwtbearer.js and 2 other locations - About 1 day to fix
cypress/integration/oauth2/grant_jwtbearer.js on lines 120..140
cypress/integration/oauth2/grant_jwtbearer.js on lines 371..391

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 212.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 4 locations. Consider refactoring.
Open

func (a *OidcApiService) DeleteOidcDynamicClientExecute(r ApiDeleteOidcDynamicClientRequest) (*http.Response, error) {
    var (
        localVarHTTPMethod = http.MethodDelete
        localVarPostBody   interface{}
        formFiles          []formFile
Severity: Major
Found in internal/httpclient/api_oidc.go and 3 other locations - About 1 day to fix
internal/httpclient/api_jwk.go on lines 290..360
internal/httpclient/api_o_auth2.go on lines 591..661
internal/httpclient/api_o_auth2.go on lines 802..872

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 591.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 4 locations. Consider refactoring.
Open

func (a *JwkApiService) DeleteJsonWebKeySetExecute(r ApiDeleteJsonWebKeySetRequest) (*http.Response, error) {
    var (
        localVarHTTPMethod = http.MethodDelete
        localVarPostBody   interface{}
        formFiles          []formFile
Severity: Major
Found in internal/httpclient/api_jwk.go and 3 other locations - About 1 day to fix
internal/httpclient/api_o_auth2.go on lines 591..661
internal/httpclient/api_o_auth2.go on lines 802..872
internal/httpclient/api_oidc.go on lines 337..407

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 591.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 4 locations. Consider refactoring.
Open

func (a *OAuth2ApiService) DeleteTrustedOAuth2JwtGrantIssuerExecute(r ApiDeleteTrustedOAuth2JwtGrantIssuerRequest) (*http.Response, error) {
    var (
        localVarHTTPMethod = http.MethodDelete
        localVarPostBody   interface{}
        formFiles          []formFile
Severity: Major
Found in internal/httpclient/api_o_auth2.go and 3 other locations - About 1 day to fix
internal/httpclient/api_jwk.go on lines 290..360
internal/httpclient/api_o_auth2.go on lines 591..661
internal/httpclient/api_oidc.go on lines 337..407

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 591.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 4 locations. Consider refactoring.
Open

func (a *OAuth2ApiService) DeleteOAuth2ClientExecute(r ApiDeleteOAuth2ClientRequest) (*http.Response, error) {
    var (
        localVarHTTPMethod = http.MethodDelete
        localVarPostBody   interface{}
        formFiles          []formFile
Severity: Major
Found in internal/httpclient/api_o_auth2.go and 3 other locations - About 1 day to fix
internal/httpclient/api_jwk.go on lines 290..360
internal/httpclient/api_o_auth2.go on lines 802..872
internal/httpclient/api_oidc.go on lines 337..407

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 591.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 2 locations. Consider refactoring.
Open

func (a *OAuth2ApiService) DeleteOAuth2TokenExecute(r ApiDeleteOAuth2TokenRequest) (*http.Response, error) {
    var (
        localVarHTTPMethod = http.MethodDelete
        localVarPostBody   interface{}
        formFiles          []formFile
Severity: Major
Found in internal/httpclient/api_o_auth2.go and 1 other location - About 1 day to fix
internal/httpclient/api_o_auth2.go on lines 2806..2879

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 584.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Similar blocks of code found in 2 locations. Consider refactoring.
Open

func (a *OAuth2ApiService) RejectOAuth2LogoutRequestExecute(r ApiRejectOAuth2LogoutRequestRequest) (*http.Response, error) {
    var (
        localVarHTTPMethod = http.MethodPut
        localVarPostBody   interface{}
        formFiles          []formFile
Severity: Major
Found in internal/httpclient/api_o_auth2.go and 1 other location - About 1 day to fix
internal/httpclient/api_o_auth2.go on lines 695..768

Duplicated Code

Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

Tuning

This issue has a mass of 584.

We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

Refactorings

Further Reading

Function TestOAuth2AwareCORSMiddleware has 239 lines of code (exceeds 50 allowed). Consider refactoring.
Open

func TestOAuth2AwareCORSMiddleware(t *testing.T) {
    ctx := context.Background()
    r := internal.NewRegistryMemory(t, internal.NewConfigurationWithDefaults(), &contextx.Default{})
    token, signature, _ := r.OAuth2HMACStrategy().GenerateAccessToken(ctx, nil)

Severity: Major
Found in x/oauth2cors/cors_test.go - About 1 day to fix

    Function TestUserinfo has 239 lines of code (exceeds 50 allowed). Consider refactoring.
    Open

    func TestUserinfo(t *testing.T) {
        ctx := context.Background()
        conf := internal.NewConfigurationWithDefaults()
        conf.MustSet(ctx, config.KeyScopeStrategy, "")
        conf.MustSet(ctx, config.KeyAuthCodeLifespan, lifespan)
    Severity: Major
    Found in oauth2/handler_test.go - About 1 day to fix

      IntrospectedOAuth2Token has 58 methods (exceeds 20 allowed). Consider refactoring.
      Open

      type IntrospectedOAuth2Token struct {
          // Active is a boolean indicator of whether or not the presented token is currently active.  The specifics of a token's \"active\" state will vary depending on the implementation of the authorization server and the information it keeps about its tokens, but a \"true\" value return for the \"active\" property will generally indicate that a given token has been issued by this authorization server, has not been revoked by the resource owner, and is within its given time window of validity (e.g., after its issuance time and before its expiration time).
          Active bool `json:"active"`
          // Audience contains a list of the token's intended audiences.
          Aud []string `json:"aud,omitempty"`
      Severity: Major
      Found in internal/httpclient/model_introspected_o_auth2_token.go - About 1 day to fix

        Method Validator.Validate has a Cognitive Complexity of 68 (exceeds 20 allowed). Consider refactoring.
        Open

        func (v *Validator) Validate(ctx context.Context, c *Client) error {
            if c.TokenEndpointAuthMethod == "" {
                c.TokenEndpointAuthMethod = "client_secret_basic"
            } else if c.TokenEndpointAuthMethod == "private_key_jwt" {
                if len(c.JSONWebKeysURI) == 0 && c.JSONWebKeys == nil {
        Severity: Minor
        Found in client/validator.go - About 1 day to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        Function TestMigrations has a Cognitive Complexity of 68 (exceeds 20 allowed). Consider refactoring.
        Open

        func TestMigrations(t *testing.T) {
            connections := make(map[string]*pop.Connection, 1)
        
            if testing.Short() {
                reg := internal.NewMockedRegistry(t, &contextx.Default{})
        Severity: Minor
        Found in persistence/sql/migratest/migration_test.go - About 1 day to fix

        Cognitive Complexity

        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

        A method's cognitive complexity is based on a few simple rules:

        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
        • Code is considered more complex for each "break in the linear flow of the code"
        • Code is considered more complex when "flow breaking structures are nested"

        Further reading

        OAuth2ApiService has 56 methods (exceeds 20 allowed). Consider refactoring.
        Open

        type OAuth2ApiService service
        Severity: Major
        Found in internal/httpclient/api_o_auth2.go - About 1 day to fix

          File grant_jwtbearer.js has 500 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          // Copyright © 2022 Ory Corp
          // SPDX-License-Identifier: Apache-2.0
          
          import {
            createClient,
          Severity: Minor
          Found in cypress/integration/oauth2/grant_jwtbearer.js - About 1 day to fix

            Method APIClient.prepareRequest has a Cognitive Complexity of 66 (exceeds 20 allowed). Consider refactoring.
            Open

            func (c *APIClient) prepareRequest(
                ctx context.Context,
                path string, method string,
                postBody interface{},
                headerParams map[string]string,
            Severity: Minor
            Found in internal/httpclient/client.go - About 7 hrs to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Severity
            Category
            Status
            Source
            Language