Jwt Bearer 인증을 어떻게 구성해야합니까?

Kevin Beye-Van Hulten

Jwt 토큰 인증을 사용하는 웹 응용 프로그램을 만들려고하는데, 로그온하면 제대로 작동합니다. 이제 누가 어떤 페이지에 액세스 할 수 있는지에 대한 권한을 추가하려고합니다. 내 컨트롤러에서 [Authorize]. 하지만 로그인 한 상태에서 작업 중 하나로 이동하려고하면 항상 빈 페이지가 표시되고이를 검사 할 때 작업은 항상 401 Unauthorized를 반환합니다. 제안 사항이 있습니까?

Api에 인증 헤더를 보내기위한 내 headerservice :

using System.Collections.Generic;

namespace RelationizeWeb.Facade.Services
{
    public class HeaderService : IHeaderService
    {
        private const string AuthorizationHeaderKey = "Authorization";
        private const string BearerHeaderValue = "Bearer";

        public Dictionary<string, List<string>> CreateAuthorizationHeader(string token)
        {
            var dict = new Dictionary<string, List<string>>
            {
                { AuthorizationHeaderKey, new List<string>{ $"{BearerHeaderValue} {token}" } }
            };
            return dict;
        }

        public Dictionary<string, List<string>> CreateHeader(string key, string value)
        {
            var dict = new Dictionary<string, List<string>>
            {
                { key, new List<string> { value } }
            };
            return dict;
        }
    }
}

예를 들어 OpinionMakerService에서 만드는 Api 요청의 예 :

public IEnumerable<OpinionMaker> GetOpinionMakers(JwtTokenResponse jwt)
    {
        try
        {
            return (List<OpinionMaker>)_relationizeApiAgent.GetOpinionMakersWithHttpMessages(_headerService.CreateAuthorizationHeader(jwt.AccessToken)).Body;
        }
        catch(Exception)
        {
            return null;
        }
    }
Niladri

azure를 사용하여 애플리케이션에 대한 JWT를 생성 할 수 있습니다. REST API UseJwtBearerAuthentication에 대한 StartUp.cs파일에 이름이 지정된 확장 메소드를 호출 [Authorize]하고 컨트롤러에 속성을 사용해야 합니다. UseJwtBearerAuthentication방법은 아래와 같이 작동합니다.

app.UseJwtBearerAuthentication(new JwtBearerOptions
            {
                AutomaticAuthenticate = true,
                AutomaticChallenge = true,
                Authority = <your auth name>,
                Audience = <target audience URL>
            });

자세한 내용은 아래 링크를 참조하십시오. 1. https://blogs.msdn.microsoft.com/webdev/2017/04/06/jwt-validation-and-authorization-in-asp-net-core/

  1. https://pioneercode.com/post/authentication-in-an-asp-dot-net-core-api-part-3-json-web-token

ADAL.JS와 같은 클라이언트 측 라이브러리를 사용하여 Azure 서비스를 호출하여 JWT 전달자 토큰을 얻은 다음 각 요청의 토큰을 컨트롤러에 보낼 수 있습니다. 각 요청에서 확인됩니다. Azure JWT 인증을 사용하는 Angular2 앱에서이 접근 방식을 따랐습니다.

adal.js 링크 https://github.com/AzureAD/azure-activedirectory-library-for-js

리소스 : https://blogs.msdn.microsoft.com/premier_developer/2017/04/26/using-adal-with-angular2/

편집 : 아래 코드를 사용하여 JWT 토큰에 액세스하고 다른 컨트롤러에서 컨트롤러를 호출하기 전에 Authorization 헤더에 추가 할 수 있습니다.

 HttpClient client = new HttpClient();
    var token = <add your token here>; // call GetToken() method here and extract access_token from JwtTokenResponse class property.
    client.DefaultRequestHeaders.Authorization = new 
    AuthenticationHeaderValue("Bearer", token.Substring("Bearer ".Length).Trim());

    //call the api method using SendAsync() or PostAsyc() etc.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Django (drf 및 simplejwt)에서 JWT 기반 인증을 정확히 어떻게 구현해야합니까?

분류에서Dev

Tomcat은 Bearer (토큰) 인증을 지원하며, 그렇다면 어떻게 구성합니까?

분류에서Dev

Node JS JWT 인증에서 역할을 어떻게 설정합니까?

분류에서Dev

어떻게 봄 부팅에 JWT 인증을 기본 인증을 구현할 수있다?

분류에서Dev

C #에서 JWT 토큰을 검색하려면 어떻게해야합니까?

분류에서Dev

재 작성으로 nginx 구성에 기본 인증을 추가하려면 어떻게해야합니까?

분류에서Dev

JWT 토큰은 어떻게 인증됩니까?

분류에서Dev

Android 및 REST로 인증을 구현하려면 어떻게해야합니까?

분류에서Dev

JWT 인증 : 어떻게 로그 아웃 구현하는 방법?

분류에서Dev

Bearer 토큰으로 웹 사이트에서 웹 API 컨트롤러를 인증하려면 어떻게해야합니까?

분류에서Dev

Jwt Bearer 인증을 사용한 사용자 지정 클레임

분류에서Dev

이 설정을 위해 PostgreSQL을 어떻게 구성해야합니까?

분류에서Dev

비정상적인 네트워크 구성을 위해 Ubuntu / Upstart를 어떻게 구성해야합니까?

분류에서Dev

Angular 애플리케이션의 경우 인증 서버에서 생성 된 JWT 토큰을 어디에 저장해야합니까?

분류에서Dev

도메인을 인증하려면 어떻게해야합니까?

분류에서Dev

JWTAuth laravel 패키지로 JWT 토큰을 제거하거나 삭제하려면 어떻게해야합니까?

분류에서Dev

Web Api C #에서 JWT 토큰을 암호화하려면 어떻게해야합니까?

분류에서Dev

DTO의 유효성을 어떻게 확인해야합니까?

분류에서Dev

Heroku 앱을 SSL 용으로 구성하려면 어떻게해야합니까?

분류에서Dev

분산 대기열의 백업을 어떻게 구성해야합니까?

분류에서Dev

이 목록을 mvc로 구성하려면 어떻게해야합니까?

분류에서Dev

SSL 인증서를 구매 한 후 어떻게해야합니까?

분류에서Dev

JWT 유효성 검사는 토큰 유형 간의 차이점을 어떻게 구분합니까?

분류에서Dev

Gear S2에 대한 등록 인증을 생성하려면 어떻게해야합니까?

분류에서Dev

Restfull을 사용하여 인증 인증을 호출하려면 어떻게해야합니까?

분류에서Dev

OAuth2.0은 인증을 어떻게 구현합니까?

분류에서Dev

이 두 인증서 상황을 어떻게 구별합니까?

분류에서Dev

nixos에서 postgres의 인증 설정을 어떻게 구성합니까?

분류에서Dev

jwt는 nodejs에서 RSA256 서명 확인을 어떻게 구현합니까?

Related 관련 기사

  1. 1

    Django (drf 및 simplejwt)에서 JWT 기반 인증을 정확히 어떻게 구현해야합니까?

  2. 2

    Tomcat은 Bearer (토큰) 인증을 지원하며, 그렇다면 어떻게 구성합니까?

  3. 3

    Node JS JWT 인증에서 역할을 어떻게 설정합니까?

  4. 4

    어떻게 봄 부팅에 JWT 인증을 기본 인증을 구현할 수있다?

  5. 5

    C #에서 JWT 토큰을 검색하려면 어떻게해야합니까?

  6. 6

    재 작성으로 nginx 구성에 기본 인증을 추가하려면 어떻게해야합니까?

  7. 7

    JWT 토큰은 어떻게 인증됩니까?

  8. 8

    Android 및 REST로 인증을 구현하려면 어떻게해야합니까?

  9. 9

    JWT 인증 : 어떻게 로그 아웃 구현하는 방법?

  10. 10

    Bearer 토큰으로 웹 사이트에서 웹 API 컨트롤러를 인증하려면 어떻게해야합니까?

  11. 11

    Jwt Bearer 인증을 사용한 사용자 지정 클레임

  12. 12

    이 설정을 위해 PostgreSQL을 어떻게 구성해야합니까?

  13. 13

    비정상적인 네트워크 구성을 위해 Ubuntu / Upstart를 어떻게 구성해야합니까?

  14. 14

    Angular 애플리케이션의 경우 인증 서버에서 생성 된 JWT 토큰을 어디에 저장해야합니까?

  15. 15

    도메인을 인증하려면 어떻게해야합니까?

  16. 16

    JWTAuth laravel 패키지로 JWT 토큰을 제거하거나 삭제하려면 어떻게해야합니까?

  17. 17

    Web Api C #에서 JWT 토큰을 암호화하려면 어떻게해야합니까?

  18. 18

    DTO의 유효성을 어떻게 확인해야합니까?

  19. 19

    Heroku 앱을 SSL 용으로 구성하려면 어떻게해야합니까?

  20. 20

    분산 대기열의 백업을 어떻게 구성해야합니까?

  21. 21

    이 목록을 mvc로 구성하려면 어떻게해야합니까?

  22. 22

    SSL 인증서를 구매 한 후 어떻게해야합니까?

  23. 23

    JWT 유효성 검사는 토큰 유형 간의 차이점을 어떻게 구분합니까?

  24. 24

    Gear S2에 대한 등록 인증을 생성하려면 어떻게해야합니까?

  25. 25

    Restfull을 사용하여 인증 인증을 호출하려면 어떻게해야합니까?

  26. 26

    OAuth2.0은 인증을 어떻게 구현합니까?

  27. 27

    이 두 인증서 상황을 어떻게 구별합니까?

  28. 28

    nixos에서 postgres의 인증 설정을 어떻게 구성합니까?

  29. 29

    jwt는 nodejs에서 RSA256 서명 확인을 어떻게 구현합니까?

뜨겁다태그

보관