2011-09-14 5 views
1

Helllo oauth 인증/인증 프로세스를 추상화하고 자체 인증 전략을 제공하는 미들웨어 라이브러리를 프로그래밍합니다.express/connect 데이터로 원숭이 패치 요청 obj하는 방법

원숭이가 요청을 데이터로 패치 할 때 라우트 된 요청에서는 사용할 수 없지만 다른 미들웨어 (연결/표현 문서는이 주제에 대해 매우 열악 함) 때문에 멈추었습니다.

모든 요청 (정적 파일 제외)에서 사용할 수 있도록 데이터 스틱을 만들려면 어떻게해야합니까?

감사합니다. 그들을 작동하게 그냥 실망했기 때문에 나는 다른 가능한 모듈을 사용하지 않는

시 ...

+0

app.use (...)와 미들웨어의 관련 부분을 게시 할 수 있습니까? 이 라인은 매우 명확하지 않습니다.''원숭이가 요청으로 데이터를 패치 할 때 라우트 된 요청에는 없을 것입니다. '', 자세한 내용을 참조 할 수 있습니까? 나는 커넥트의 미들웨어를 꽤 많이 사용 해왔다. 그리고 이것은 당신의 문제가 무엇인지 확립하자마자 내가 당신을 도울 수있는 무언가이다. –

+0

@ Ryan Olds 알아, 고쳐. 코드는 https://github.com/Cu7l4ss/express-oauth-logic-middleware/ lib.js에 있습니다. – Cu7l4ss

+0

@Ryan Olds in StrategyMaster auth method는 미들웨어입니다 – Cu7l4ss

답변

1

이 시도 : 실행중인 나는 console.log(req.isAuthenticated()); 가정

function authOrDie() { 
    return function(req,res,next) { 
    console.log(req.isAuthenticated()); 
    next(); // Have to call next to continue to the next middleware 
    }; 
} 

을하고 그것은 작동하고, I 또한 false을 출력한다고 가정합니다.

또한 정적 파일에 대한 요청을 인증 할 필요가없는 경우 스택에서 훨씬 더 높은 위치로 이동해야합니다.

+0

이것은 작동하지만 미들웨어이기도합니다. 하지만 일반 경로 (예 :/posts)에서 첨부 된 사용자 데이터에 액세스하려고하면 정의되지 않은 값이 반환됩니다. 나는 애플 리케이션 미들웨어 인증 로직 자체에서 데이터를 재 부착 할 수 있었다고 생각한다. 난 그냥 애플 리케이션에 middlewares 모든 경로와 요청을 통해 실행되는 줄 알았는데 .. – Cu7l4ss

+0

미들웨어는'req'에 추가 할 수 있어야하고 뭔가가 그것을 밖으로 날려 버리지 않는 한 그것은 경로의 req에서 사용할 수 있어야합니다 같은 대상. 'req'는 그들 중 하나가 처리하거나 끝날 때까지 미들웨어를 기준으로 전달됩니다. express.routes는 미들웨어이며 어떤 경로가 요청을 처리 할지라도 같은'req' 객체를 얻을 것이다. 설정되어 있지 않으면 무언가가 설정 해제 중입니다. –

+0

아 너무 생각했습니다. Route middlware와 일반 app.configure 미들웨어에는 미묘한 차이가 있습니다. 차이점은 경로에 액세스 했으므로 app.configure 미들웨어 체인에서 처음이므로 (내가 이해 한대로)이 작업을 수행 할 수있는 다른 방법이 없지만 라우트 미들웨어도 있는지 (동일한 것일 수 있음) 방법으로 authOrDie fe) – Cu7l4ss

관련 문제