{"id":18542165,"url":"https://github.com/heremaps/here-aaa-java-sdk","last_synced_at":"2025-09-06T20:38:17.606Z","repository":{"id":48425831,"uuid":"70711909","full_name":"heremaps/here-aaa-java-sdk","owner":"heremaps","description":"HERE Authentication, Authorization, and Accounting Java Client library.","archived":false,"fork":false,"pushed_at":"2025-08-12T11:55:37.000Z","size":836,"stargazers_count":28,"open_issues_count":25,"forks_count":27,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-08-12T13:41:59.113Z","etag":null,"topics":["authentication","authorization","oauth-client","sdk"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/heremaps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-10-12T15:08:09.000Z","updated_at":"2025-07-31T12:41:05.000Z","dependencies_parsed_at":"2024-09-09T09:52:09.753Z","dependency_job_id":"b183fcf3-e6fc-4eca-8006-2ff28a33c471","html_url":"https://github.com/heremaps/here-aaa-java-sdk","commit_stats":{"total_commits":320,"total_committers":22,"mean_commits":"14.545454545454545","dds":0.578125,"last_synced_commit":"7b6a3d943d32665b6ba8f9e55c19e411ea57409f"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/heremaps/here-aaa-java-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aaa-java-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aaa-java-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aaa-java-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aaa-java-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/heremaps","download_url":"https://codeload.github.com/heremaps/here-aaa-java-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/heremaps%2Fhere-aaa-java-sdk/sbom","scorecard":{"id":461963,"data":{"date":"2025-08-11","repo":{"name":"github.com/heremaps/here-aaa-java-sdk","commit":"f12991f65f7c30dcd36d1ab9c931542f4c18a4a2"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":6,"reason":"Found 4/6 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:5","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-review.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/heremaps/here-aaa-java-sdk/dependency-review.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/dependency-review.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/heremaps/here-aaa-java-sdk/dependency-review.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/heremaps/here-aaa-java-sdk/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/heremaps/here-aaa-java-sdk/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/heremaps/here-aaa-java-sdk/test.yml/master?enable=pin","Info:   0 out of   5 GitHub-owned GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 28 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T11:20:39.131Z","repository_id":48425831,"created_at":"2025-08-19T11:20:39.131Z","updated_at":"2025-08-19T11:20:39.131Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273960804,"owners_count":25198466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","authorization","oauth-client","sdk"],"created_at":"2024-11-06T20:07:36.015Z","updated_at":"2025-09-06T20:38:17.564Z","avatar_url":"https://github.com/heremaps.png","language":"Java","readme":"HERE Authentication, Authorization, and Accounting\n\nIntroduction\n============\nThis repository contains the complete source code for the here-aaa-sdk project. Basic\ntechnical information is contained in this file.\n\nThis project is maintained by the HERE Identity and Access Management team. For\nquestions contact HERE_ACCOUNT_SUPPORT@here.com.\n\nDeliverables\n============\nThe here-aaa-sdk project produces artifacts distributed in two ways:\n* The `here-oauth-client-dist-\u003cversion\u003e.tar.gz` bundle.  External developers currently\nreceive this bundle as part of onboarding.\n* via the [Maven Central Repository](https://search.maven.org/)\n\nThe following artifacts are published to Maven Central:\n\nHERE OAuth Client\n------\nContains code to assist developers to obtain authorization from the HERE OAuth2.0 Authorization\nServer, for use with HERE Services.\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.here.account\u003c/groupId\u003e\n  \u003cartifactId\u003ehere-oauth-client\u003c/artifactId\u003e\n  \u003cversion\u003e0.4.25\u003c/version\u003e\n\u003c/dependency\u003e\n```\nHERE OAuth Client Examples\n------\nExample usage of the HERE OAuth Client library; these are tutorials intended to be \nadapted into or inform design of applications. \n\nSpecify the version of the HERE OAuth Client library to include in your code by setting\nthe version element below with a version available on Maven Central:\n\nhttp://central.maven.org/maven2/com/here/account/here-oauth-client/\n\nPick the version that you see most fit. We recommend that you select the latest version.\n```\n\u003cdependency\u003e\n  \u003cgroupId\u003ecom.here.account\u003c/groupId\u003e\n  \u003cartifactId\u003ehere-oauth-client-example\u003c/artifactId\u003e\n  \u003cversion\u003e0.4.25\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n\nDirectory Layout\n================\nHere is an overview of the top-level files contained in the repository:\n\n    |\n    +- here-oauth-client      # Source and test code for supported HERE OAuth2.0 flows\n    |  |\n    |  +- src                 # Source and test code\n    |     |\n    |     +- main             # Source code.  The generated JAR file and javadocs are delivered to developers\n    |     |\n    |     +- test             # Test code\n    |\n    +- examples               # Examples across all projects; these are tutorials intended to be adapted into or inform design of applications\n    |  |\n    |  +- here-oauth-client-example # Tutorial example for here-oauth-client JAR\n    |     |\n    |     +- src              # Source and test code\n    |        |\n    |        +- main          # Source code for the tutorial example\n    |\n    +- here-oauth-client-dist # Descriptions of how to build the .tar.gz distribution bundle\n\nFunctionality\n=============\nThe purpose of here-oauth-client JAR is to obtain authorization from the HERE OAuth2.0\nAuthorization Server, for use with HERE Services.  See also https://tools.ietf.org/html/rfc6749.\n\nThe HERE Access Tokens obtained are provided as Authorization: Bearer values on requests to\nHERE Services.  See also https://tools.ietf.org/html/rfc6750#section-2.1.\n\nThe here-oauth-client JAR includes\n- Authentication features for signing requests to the HERE OAuth2.0 Authorization Server.  The\n  client provides its provisioned id and secret to make authenticated requests via the OAuth1.0\n  authentication method.\n- Authorization features for obtaining HERE Access Tokens from the HERE OAuth2.0 Authorization\n  Server, including the ability to automatically refresh HERE Access Tokens.  Supported\n  flows include OAuth2.0 client_credentials grant for confidential clients.\n- Authorization features for using OAuth2.0 Bearer HERE Access Token in the Authorization header\n  for requests to HERE Services.\n- Accounting claims in the Access Tokens it uses.  HERE Services extract signed Accounting claims\n  from the Access Tokens.\n\nFor help, contact HERE_ACCOUNT_SUPPORT@here.com.\nBuilt using Apache Maven (https://maven.apache.org/)\n\nDevelopment Setup\n=================\n\nPrerequisites\n-------------\n\n1. Requires Java 1.8.\n2. Requires Apache Maven 3.3.\n\nBuild instructions\n------------------\n\nOpen a command prompt at the working tree's root directory and type:\n\n    $ mvn -DskipTests clean package\n\nTo build the package without testing it.\n\nTest instructions\n-----------------\n\nThe tests must be configured with valid HERE client credentials to pass.  To get HERE client\ncredentials, please contact HERE_ACCOUNT_SUPPORT@here.com.\n\nWhen you commit your code in GitHub it will be automatically tested with Github Workflows.\n\nhttps://docs.github.com/en/actions/using-workflows\n\nOpen a command prompt at the working tree's root directory and type:\n\n    $ mvn clean package\n\nWhich will succeed if your client credentials file is at ~/.here/credentials.properties, and\nfail the test phase otherwise.  Another way to get passing tests, or to override your\n~/.here/credentials.properties, you can optionally use the command-line arguments.\n\nOpen a command prompt at the working tree's root directory and type:\n\n    $ mvn -DargLine='-DhereCredentialsFile=/path/to/your/creds' clean package\n\nSubstitute your /path/to/your/creds above, to achieve success.\n\nExamples instructions\n---------------------\nThe examples directory contains a tutorial example.  To run it\n\n1. Download and place your HERE Account authorization server credentials.properties file to\n   ~/.here/credentials.properties.\n2.\n\n     $ chmod 400 ~/.here/credentials.properties\n3.\n\n     $ java -jar examples/here-oauth-client-example/target/here-oauth-client-example-*[!javadoc][!sources].jar\n\nThis tutorial uses the recommended \"always fresh\" approach with the default ClientAuthorizationProviderChain.\nThe tutorial will obtain a valid HERE Access Token and print portions of it to stdout.\nIf in a secure location, optionally re-run with\n\n     $ java -jar examples/here-oauth-client-example/target/here-oauth-client-example-*[!javadoc][!sources].jar -v\n\nto print a full valid HERE Access Token to stdout. You can also put the file in a different\nlocation or give it a different name, just supply the file as input to the executable jar command\nline.  The examples are for tutorial purposes only and MUST NOT be used in your deployed\napplication.  You might find it useful to start from the main(..) method's sample code, and\nadapt the integration to your environment.\n\nYou can use the `-idToken` option to output the HERE Id Token (in Open ID format) instead of the \nHERE Access Token.\n\n     $ java -cp examples/here-oauth-client-example/target/here-oauth-client-example-*[!javadoc][!sources].jar com.here.account.oauth2.tutorial.ClientCredentialsProgram -idToken\n\nIf in a secure location, optionally add the `-v` option to print a full valid Id Token to stdout.\n\n     $ java -cp examples/here-oauth-client-example/target/here-oauth-client-example-*[!javadoc][!sources].jar com.here.account.oauth2.tutorial.ClientCredentialsProgram -idToken -v\n\nDeveloper Usage\n===============\n\nRead the javadocs for details and helpful code snippets (such as setting the HTTP connection pool size).  The mvn commands \nabove will create javadocs locally, which you can see at 'here-oauth-client/target/apidocs/index.html'.\n\nIf you are just getting started, go to `com.here.account.oauth2.HereAccessTokenProvider` javadocs for \nthe overview of two options:\n- To get a supplier of HERE Access Tokens optimized for making repeated API calls to resource servers, use `HereAccessTokenProvider.builder().build();` once followed by repeated calls to `.getAccessToken();`. This option is also recommended for long-running scenarios. In this default option, created Access Tokens are reused during their lifetime and automatically updated for you when needed.\n- To get a new HERE Access Token only once, or if you want to manage your own token expirations, use `HereAccessTokenProvider.builder().setAlwaysRequestNewToken(true).build();` followed by calls to `.getAccessToken();`.\n\nA third option is to get an id_token\n- get Id Token via `com.here.account.oauth2.HereAccount`'s `TokenEndpoint.requestToken(..)` approach by setting the\nscope field in the request.\n\nYou can also use one of the proxy options to getAccessToken\n- use `HereAccessTokenProvider.builder().setProxy(\u003cproxyHost\u003e, \u003cproxyPort\u003e).build();` (Uses https by default)\n- use `HereAccessTokenProvider.builder().setProxy(\u003cproxyHost\u003e, \u003cproxyPort\u003e, \u003cscheme\u003e).build();` (Can be used to set http/https scheme)\n- use `HereAccessTokenProvider.builder().setProxy(\u003cproxyHost\u003e, \u003cproxyPort\u003e, \u003cscheme\u003e).setProxyAuthentication(\u003cproxyUsername\u003e, \u003cproxyPassword\u003e).build();`\n\nIf you want move advanced options, you can provide your own HttpProvider `HereAccessTokenProvider.builder().setHttpProvider(\u003chttpProvider\u003e).build();`\n\n# License\n\nCopyright (C) 2016-2019 HERE Europe B.V.\n\nSee the [LICENSE](./LICENSE) file in the root of this project for license details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheremaps%2Fhere-aaa-java-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheremaps%2Fhere-aaa-java-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheremaps%2Fhere-aaa-java-sdk/lists"}