Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?안녕하세요 jmp 사용자 여러분,
HTTP 요청 메소드를 사용하여 JMP/JSL(JMP14)의 내부 서비스/API에 연결하려고 합니다.
좋다
url = "http://192.168.1.1/api/getsomedata;
request = New HTTP Request(
URL( url ),
Method( "Post" ),
Form(
Fields([[
"maxLimit" => "100"
]])
)
);
json = request << Send();
jsl_json = Parse JSON( json );
URL에는 Windows 인증(Ldap, NTLM)이 필요합니다.
HTTP 요청 방법을 통해 해당 리소스에 액세스하기 위해 [사용자 이름, 비밀번호] Windows 자격 증명을 제공하는 방법을 아는 사람이 있습니까?
관련 질문은 다음과 같이 논의됩니다.
Windows ID를 사용한 인증으로 http 요청
JMP에서 REST 시작하기
웹 서비스 데이터 가져오기: JMP® 14의 새로운 HTTP 요청( US 2018 231 )
고마워요 디즈
데이터 접근Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?감사해요!
Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?안녕 브라이언,
업데이트해주셔서 감사합니다! 이 솔루션은 작동하며 실제 솔루션입니다! 나는 이것을 해결책으로 표시했습니다.
최고야, 이즈
Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?양식 기반이 하나의 옵션입니다.
기본은 또 다른 것입니다.
간단히 말해서(다음 예) 양식 기반은 웹 페이지 양식으로 로그인하는 것과 마찬가지로 키/값 쌍을 웹 서비스에 보내는 것입니다.
기본 인증은 헤더(HTTP 요청 << 헤더 옵션)에 있으며, 여기서 인증은 다음과 같습니다.
사용자 이름:비밀번호(Base 64 인코딩). 다음을 사용할 수도 있습니다.
request << Username("내 사용자 이름");
request << Password("내 비밀번호");
Basic에 대해 헤더 정보를 직접 설정하는 대신.
가능하다면 https를 통해 두 가지를 모두 원할 것입니다.
일반적으로 웹 서비스는 후속 요청을 관리하기 위해 쿠키를 설정합니다.
Basic을 사용하는 경우 각 요청에 헤더 정보를 설정하는 한 필요하지 않습니다.
웹 서비스에 대해 Passport 옵션으로 이동하면 Passport는 중재자 역할을 하며 양식과 기본(및 기타)을 소화하고 원하는 백엔드 인증을 수행할 수 있습니다.
Office 365, Google, Spotify, JMP Live와 같은 대부분의 웹 서비스는 OAuth2(양식 기반 또는 기본 아님)를 사용하지만 이는 사이트의 외부 가시성(복잡성을 추가함) 때문입니다. 방화벽 등이 내부에 있는 경우 https를 사용하는 기본 또는 양식 기반이 가장 간단한 옵션이라고 생각합니다.
Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?안녕하세요, 그 제안에 감사드립니다! 좋습니다. 이 옵션이 작동할 수는 있지만 원래 제가 찾던 것은 아닙니다. 어쨌든, 몇 가지 해결 방법이 있으므로 이 토론을 해결된 것으로 표시하겠습니다! 고마워요
Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?Oauth2가 옵션이 될까요? JMP 15의 스크립팅 인덱스에 이 기능이 있습니다.
Names Default To Here( 1 );
/*
https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow
*/
/*
Note: the "code" parameter is set automatically after the redirect occurs
*/
auth_url = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize";
token_url = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
redirect_url = "http://localhost/myapp/";
client_id = "6731de76-14a6-49ae-97bc-6eba6914391e";
client_secret = "JqQX2PNo9bpM0uEihUPzyrh";
scope = "openid offline_access https://graph.microsoft.com/user.read";
auth_fields = [=> ];
token_fields = [=> ];
oauth2 = New OAuth2();
oauth2 << Grant Type( "Authorization Code" );
oauth2 << Auth URL( auth_url );
oauth2 << Token URL( token_url );
oauth2 << Redirect URL( redirect_url );
auth_fields["scope"] = scope;
auth_fields["client_id"] = client_id;
token_fields["client_secret"] = client_secret;
oauth2 << Auth Fields( auth_fields );
oauth2 << Token Fields( token_fields );
auth_header = oauth2 << Get Auth Header();
request = New HTTP Request(
URL( "https://graph.microsoft.com/v1.0/me" ),
Headers( {auth_header} ),
Method( "GET" )
);
data = request << Send;
Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?브라이언 님, 안녕하세요. 정보를 제공해 주셔서 감사합니다. 알아두면 좋은 정보입니다!
JSL 문서에 jmp와 함께 양식 기반 http 기본 인증을 사용하는 방법에 대한 예제나 코드 조각이 있습니까? 서버 소프트웨어에서 무언가를 변경하기 전에 이것을 시도하고 싶습니다.
다시 한번 감사드립니다 디즈
Re: Windows 인증/NTLM/LDAP를 사용하여 API에 연결하는 방법은 무엇입니까?HTTP 요청은 NTLM/LDAP로 직접 인증하지 않습니다.
Passport와 같은 것을 사용하고 싶을 것입니다 http://www.passportjs.org/
웹 서비스에서 양식 기반 인증 또는 https를 통한 기본 인증을 사용하십시오.
-브라이언