第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android Retrofit 2 使用 Oauth 2.0 登錄

Android Retrofit 2 使用 Oauth 2.0 登錄

暮色呼如 2022-06-15 09:34:29
我正在嘗試從使用 Spring Boot 2 的 API 登錄并使用改造 2 獲取令牌。我遇到的問題是它可以在 Postman 中使用,但我在 Android 中獲得了 403 狀態(tài)碼。這是我在 Postman 中使用的代碼:我一直在嘗試這兩種方法,但我得到了相同的 403 狀態(tài)碼:令牌響應類:public class TokenResponse {    @SerializedName("token_type")    @Expose    private String tokenType;    @SerializedName("access_token")    @Expose    private String accessToken;    public String getTokenType() {        return tokenType;    }    public void setTokenType(String tokenType) {        this.tokenType = tokenType;    }    public String getAccessToken() {        return accessToken;    }    public void setAccessToken(String accessToken) {        this.accessToken = accessToken;    }}服務(我嘗試過的兩種方式):  @POST("/oauth/token/")    @FormUrlEncoded    Call<TokenResponse> getToken(@Field("client_id") String clientId,                                 @Field("client_secret") String clientSecret,                                 @Field("grant_type") String grantType,                                 @Field("username") String username,                                 @Field("password") String password);    @FormUrlEncoded    @POST("/oauth/token/")    Call<TokenResponse> getToken2(@Field("grant_type") String grantType,                                 @Field("username") String username,                                 @Field("password") String password,                                 @Header("Authorization") String authorization);以及我提出請求的班級(也有我嘗試過的兩種方式):private void oauth2Example() {        Retrofit.Builder builder = new Retrofit.Builder()                .addConverterFactory(GsonConverterFactory.create())                .baseUrl("http://ip:8080");如您所見,我評論了我正在嘗試的兩種方式(當然,當時我沒有使用相同的“調(diào)用”變量),但是正如我所說,在這兩種方式中,我都收到了 403 錯誤。為了能夠從 Postman 獲得不記名令牌,我應該修改什么,但我在 Android 中只獲得了 403?
查看完整描述

1 回答

?
慕神8447489

TA貢獻1780條經(jīng)驗 獲得超1個贊

我為了避免 403 禁止所做的就是改變這個


@POST("/oauth/token/")

@FormUrlEncoded

Call<TokenResponse> getToken(@Field("client_id") String clientId,

                             @Field("client_secret") String clientSecret,

                             @Field("grant_type") String grantType,

                             @Field("username") String username,

對此:


@FormUrlEncoded

    @Headers(

            {"Authorization: Basic yourAuthHere",

                    "Content-Type: application/x-www-form-urlencoded"}

    )

    @POST("oauth/token")

    Call<JWT> oauthToken(

            @Field("username") String username,

            @Field("password") String password,

            @Field("grant_type") String grant_type);

這樣我就可以使用 oauth 2.0 通過 Spring Boot 后端登錄


查看完整回答
反對 回復 2022-06-15
  • 1 回答
  • 0 關注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號