فکر کنم شما رفتار پیش فرض ASP.NET Core و ASP.NET رو با NET Core. و NET. اشتباه گرفتید.
اگه من با NET Core. یه برنامه WPF بزنم، رفتاری که میگید رخ میده؟
module.factory('myInterceptor', ['$log', function($log) { $log.debug('data'); var myInterceptor = { .... .... .... }; return myInterceptor; }]);
module.factory('myInterceptor',['$q' , '$log', function($q , $log) { $log.debug('data'); return { request: function(config) { return config || $q.when(config); }, requestError: function(rejection) { return $q.reject(rejection); }, response: function(response) { return response || $q.when(response); }, responseError: function(rejection) { return $q.reject(rejection); } } }]);
angular.module('myApp') .config(function($httpProvider) { $httpProvider.interceptors.push('myInterceptor'); });
npm i -g @strest/cli
version: 2 variables: baseUrl: https://localhost:5001/api logResponse: false allowInsecure: true
requests: loginRequest: request: url: <$ baseUrl $>/account/login method: POST postData: mimeType: application/json text: username: "Vahid" password: "1234" log: <$ logResponse $> validate: - jsonpath: content.access_token type: [string] - jsonpath: content.refresh_token type: [string]
myProtectedApiRequest: request: url: <$ baseUrl $>/MyProtectedApi method: GET headers: - name: Authorization value: Bearer <$ loginRequest.content.access_token $> log: <$ logResponse $> validate: - jsonpath: content.title expect: "Hello from My Protected Controller! [Authorize]" mProtectedAdminApiRequest: request: url: <$ baseUrl $>/MyProtectedAdminApi method: GET headers: - name: Authorization value: Bearer <$ loginRequest.content.access_token $> log: <$ logResponse $> validate: - jsonpath: content.title expect: "Hello from My Protected Admin Api Controller! [Authorize(Policy = CustomRoles.Admin)]"
refreshTokenRequest: request: url: <$ baseUrl $>/account/RefreshToken method: POST postData: mimeType: application/json text: refreshToken: <$ loginRequest.content.refresh_token $> log: <$ logResponse $> validate: - jsonpath: content.access_token type: [string] - jsonpath: content.refresh_token type: [string]
myProtectedApiRequestWithNewToken: request: url: <$ baseUrl $>/MyProtectedApi method: GET headers: - name: Authorization value: Bearer <$ refreshTokenRequest.content.access_token $> log: <$ logResponse $> validate: - jsonpath: content.title expect: "Hello from My Protected Controller! [Authorize]"
myProtectedApiRequestWithOldToken: request: url: <$ baseUrl $>/MyProtectedApi method: GET headers: - name: Authorization value: Bearer <$ loginRequest.content.access_token $> log: <$ logResponse $> validate: - jsonpath: status expect: 401
logoutRequest: request: url: <$ baseUrl $>/account/logout method: GET headers: - name: Authorization value: Bearer <$ refreshTokenRequest.content.access_token $> queryString: - name: refreshToken value: <$ refreshTokenRequest.content.refresh_token $> log: <$ logResponse $> validate: - jsonpath: content expect: true
myProtectedApiRequestWithNewTokenAfterLogout: request: url: <$ baseUrl $>/MyProtectedApi method: GET headers: - name: Authorization value: Bearer <$ refreshTokenRequest.content.access_token $> log: <$ logResponse $> validate: - jsonpath: status expect: 401
public class CustomLogger : iTextSharp.text.log.ILogger { public iTextSharp.text.log.ILogger GetLogger(Type klass) { return this; } public iTextSharp.text.log.ILogger GetLogger(string name) { return this; } public bool IsLogging(iTextSharp.text.log.Level level) { return true; } public void Warn(string message) { System.Diagnostics.Trace.TraceWarning(message); } public void Trace(string message) { System.Diagnostics.Trace.TraceInformation(message); } public void Debug(string message) { System.Diagnostics.Trace.TraceInformation(message); } public void Info(string message) { System.Diagnostics.Trace.TraceInformation(message); } public void Error(string message) { System.Diagnostics.Trace.TraceError(message); } public void Error(string message, Exception e) { System.Diagnostics.Trace.TraceError(message + System.Environment.NewLine + e); } }
iTextSharp.text.log.LoggerFactory.GetInstance().SetLogger(new CustomLogger());
{ "username": "Vahid", "password": "12345" }
var jsonData = pm.response.json(); pm.globals.set("access_token", jsonData.access_token); pm.globals.set("refresh_token", jsonData.refresh_token);
var jsonData = pm.response.json(); pm.globals.set("access_token", jsonData.access_token); pm.globals.set("refresh_token", jsonData.refresh_token); pm.globals.set('XSRF-TOKEN', pm.cookies.get('XSRF-TOKEN'));