简体   繁体   English

Oauth 2.0 与 grant_type=client_credentials?

[英]Oauth 2.0 with grant_type=client_credentials?

I am looking for a OAuth 2.0 client in Java which supports machine to machine communication via grant_type=client_credentials .我正在寻找 Java 中的 OAuth 2.0 客户端,它支持通过grant_type=client_credentials进行机器对机器通信。 Any recommendations?有什么建议吗?

Edit : I am asking here, since 2 days of research indicate so far, that there are many libs for OAuth 2.0, but none seems to support the required mode of operation.编辑:我在这里问,因为到目前为止 2 天的研究表明,有许多用于 OAuth 2.0 的库,但似乎没有一个支持所需的操作模式。

After many headaches, I finally found that ScribeJava supports the needed mode of operations – although it's somewhat hidden.经过多次头疼,我终于发现 ScribeJava 支持所需的操作模式——尽管它有些隐藏。

Here is my adopted version:这是我采用的版本:

    public static void main(String... args) throws IOException, InterruptedException, ExecutionException {
        // Replace these with your client id and secret
        final String clientId = "your client id";
        final String clientSecret = "your client secret";
        final OAuth20Service service = new ServiceBuilder(clientId)
                .apiSecret(clientSecret)
                .defaultScope("any") // replace with desired scope
                .build(new DefaultApi20() {
                    @Override
                    public String getAccessTokenEndpoint() {
                        return "http://127.0.0.1:8082/token";
                    }

                    @Override
                    protected String getAuthorizationBaseUrl() {
                        throw new UnsupportedOperationException(
                                "This API doesn't support a Base URL.");
                    }
                });
        
        System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
        System.out.println();
        final OAuth2AccessToken accessToken = service.getAccessTokenClientCredentialsGrant();

        System.out.println("Got the Access Token!");
        System.out.println(accessToken.getRawResponse());
        System.out.println();

        System.out.println("Thats it man! Go and build something awesome with ScribeJava! :)");
    }

The original example can be found at https://github.com/scribejava/scribejava/blob/master/scribejava-apis/src/test/java/com/github/scribejava/apis/examples/VkontakteClientCredentialsGrantExample.java原始示例位于https://github.com/scribejava/scribejava/blob/master/scribejava-apis/src/test/java/com/github/scribejava/apis/examples/VkontakteClientCredentialsGrantExample.Z93F725A07423FE1C889F448B33D21F

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 PCF应用程式到应用程式Oauth 2 grant_type ='client_credentials'和范围uaa.resources。 本地测试 - PCF App to App Oauth 2 grant_type = 'client_credentials' and scope uaa.resources. Local testing Spring Boot 2 Spring-Security 5 OAuth2 支持 client_credentials grant_type - Spring Boot 2 Spring-Security 5 OAuth2 support for client_credentials grant_type 身份验证流程中grant_type = client_credentials和grant_type = password之间的区别? - Difference between grant_type=client_credentials and grant_type=password in Authentication Flow? 如何在 Spring Boot Oauth2 授权服务器中 grant_type=client_credentials 时抛出错误凭据的任何异常 - How to throw any Exceptions for wrong credentials when grant_type=client_credentials in Spring Boot Oauth2 Authorization Server 使用授权类型“ client_credentials”时,OAuth2身份验证失败 - OAuth2 Authentication fails when using grant type “client_credentials” Spring OAuth2 客户端授权类型=密码示例 - Spring OAuth2 Client grant_type=password example 如何为我的OAuth2客户端实施client_credentials授予 - How do I implement the client_credentials grant for my OAuth2 Client Spring boot Oauth2 grant_type 密码总是返回 invalid_grant Bad Credentials - Spring boot Oauth2 grant_type password always return invalid_grant Bad Credentials Spring-Security-OAuth2中的grant_type - grant_type in Spring-Security-OAuth2 Spring Security oauth 2使用grant_type“ password”在TokenEndPoint上禁用客户端身份验证 - Spring Security oauth 2 Disable Client authentification on TokenEndPoint with grant_type “password”
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM